219 halfLengthWorld, 0.*
deg, 360.*
deg);
228 worldLog,
"World", 0,
false, 0);
239 halfThicknessWindow, 0.*
deg, 360.*
deg);
249 halfThicknessWindow - halfLengthWorld),
250 windowLog,
"ExitWindow",worldLog,
false,0);
281 halfThicknessMon, 0.*
deg, 360.*
deg);
291 fPosMon0 + halfThicknessMon - halfLengthWorld),
292 monLog,
"MonitorChamber",worldLog,
false,0);
303 halfThicknessBag, 0.*
deg, 360.*
deg);
313 fPosBag0 + halfThicknessBag - halfLengthWorld),
314 bagLog,
"HeliumBag",worldLog,
false,0);
319 halfThicknessHelium, 0.*
deg, 360.*
deg);
328 heliumLog,
"Helium",bagLog,
false,0);
333 halfThicknessRing, 0.*
deg, 360.*
deg);
347 -halfThicknessHelium + halfThicknessRing),
348 ring0Log,
"Ring0",heliumLog,
false,0);
352 halfThicknessHelium - halfThicknessRing),
353 ring1Log,
"Ring1",heliumLog,
false,0);
363 halfThicknessScorer, 0.*
deg, 360.*
deg);
372 halfLengthWorld - halfThicknessScorer),
373 scorerLog,
"Scorer",worldLog,
false,0);
377 halfThicknessScorer, 0.*
deg, 360.*
deg);
399 if (!sensitiveDetector) {
static G4RunManager * GetRunManager()
G4double fWidthScorerRing
CLHEP::Hep3Vector G4ThreeVector
G4LogicalVolume * GetLogicalVolume() const
void SetPrimFoilThickness(G4double thicknessPrimFoil)
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static G4MaterialTable * GetMaterialTable()
G4Material * fMaterialPrimFoil
void AddNewDetector(G4VSensitiveDetector *aSD)
void SetVerboseLevel(G4int vl)
virtual G4VPhysicalVolume * Construct()
void CreateHeliumBag(G4LogicalVolume *logicWorld)
void SetFilter(G4VSDFilter *f)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4VisAttributes * fRingVisAtt
void ConstructSDandField()
Definition of the ElectronBenchmarkDetector class.
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
G4VisAttributes * fScorerVisAtt
static constexpr double g
const G4Cache< G4MultiFunctionalDetector * > fSensitiveDetectorCache
G4VisAttributes * fMonVisAtt
G4VisAttributes * fHeliumVisAtt
G4VisAttributes * fBagVisAtt
static constexpr double deg
void SetZHalfLength(G4double newDz)
G4VPhysicalVolume * CreateGeometry()
void CreateScorer(G4LogicalVolume *logicWorld)
static G4GeometryManager * GetInstance()
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
Definition of the ElectronBenchmarkDetectorMessenger class.
void OpenGeometry(G4VPhysicalVolume *vol=0)
G4bool RegisterPrimitive(G4VPrimitiveScorer *)
void SetVisAttributes(const G4VisAttributes *pVA)
virtual ~ElectronBenchmarkDetector()
ElectronBenchmarkDetector()
void GeometryHasBeenModified(G4bool prop=true)
G4LogicalVolume * fLogPrimFoil
static G4SolidStore * GetInstance()
static G4SDManager * GetSDMpointer()
G4VisAttributes * fPrimFoilVisAtt
static G4PhysicalVolumeStore * GetInstance()
G4double fThicknessScorer
G4VisAttributes * fWorldVisAtt
void AddElement(G4Element *element, G4int nAtoms)
G4VisAttributes * fWindowVisAtt
void CreateExitWindow(G4LogicalVolume *logicWorld)
G4LogicalVolume * fLogWorld
void PhysicsHasBeenModified()
ElectronBenchmarkDetectorMessenger * fMessenger
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
void SetMaterial(G4Material *pMaterial)
G4LogicalVolume * fScorerRingLog
void CreateMonitor(G4LogicalVolume *logicWorld)
void SetPrimFoilMaterial(G4String matname)
static constexpr double cm3
void CreatePrimaryFoil(G4LogicalVolume *logicWorld)
static G4LogicalVolumeStore * GetInstance()
static G4NistManager * Instance()
G4double fHalfThicknessPrimFoil
G4VPhysicalVolume * CreateWorld()