222 halfLengthWorld, 0.*
deg, 360.*
deg);
231 worldLog,
"World", 0,
false, 0);
242 halfThicknessWindow, 0.*
deg, 360.*
deg);
252 halfThicknessWindow - halfLengthWorld),
253 windowLog,
"ExitWindow",worldLog,
false,0);
275 primFoilLog,
"ScatteringFoil",worldLog,
false,0);
284 halfThicknessMon, 0.*
deg, 360.*
deg);
294 fPosMon0 + halfThicknessMon - halfLengthWorld),
295 monLog,
"MonitorChamber",worldLog,
false,0);
306 halfThicknessBag, 0.*
deg, 360.*
deg);
316 fPosBag0 + halfThicknessBag - halfLengthWorld),
317 bagLog,
"HeliumBag",worldLog,
false,0);
322 halfThicknessHelium, 0.*
deg, 360.*
deg);
331 heliumLog,
"Helium",bagLog,
false,0);
336 halfThicknessRing, 0.*
deg, 360.*
deg);
350 -halfThicknessHelium + halfThicknessRing),
351 ring0Log,
"Ring0",heliumLog,
false,0);
355 halfThicknessHelium - halfThicknessRing),
356 ring1Log,
"Ring1",heliumLog,
false,0);
366 halfThicknessScorer, 0.*
deg, 360.*
deg);
375 halfLengthWorld - halfThicknessScorer),
376 scorerLog,
"Scorer",worldLog,
false,0);
380 halfThicknessScorer, 0.*
deg, 360.*
deg);
402 if (!sensitiveDetector) {
G4bool RegisterPrimitive(G4VPrimitiveScorer *)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
const G4Cache< G4MultiFunctionalDetector * > fSensitiveDetectorCache
virtual G4VPhysicalVolume * Construct()
CLHEP::Hep3Vector G4ThreeVector
ElectronBenchmarkDetectorMessenger * fMessenger
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void SetPrimFoilThickness(G4double thicknessPrimFoil)
void SetVerboseLevel(G4int vl)
void CreateScorer(G4LogicalVolume *logicWorld)
static G4MaterialTable * GetMaterialTable()
void SetFilter(G4VSDFilter *f)
Definition of the ElectronBenchmarkDetectorMessenger class.
G4Material * fMaterialPrimFoil
void CreatePrimaryFoil(G4LogicalVolume *logicWorld)
static G4NistManager * Instance()
static G4PhysicalVolumeStore * GetInstance()
G4double fHalfThicknessPrimFoil
G4LogicalVolume * fScorerRingLog
void CreateHeliumBag(G4LogicalVolume *logicWorld)
G4GLOB_DLL std::ostream G4cout
void CreateMonitor(G4LogicalVolume *logicWorld)
G4VisAttributes * fWindowVisAtt
G4double fThicknessScorer
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
void CreateExitWindow(G4LogicalVolume *logicWorld)
static G4GeometryManager * GetInstance()
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
void SetPrimFoilMaterial(G4String matname)
G4VisAttributes * fPrimFoilVisAtt
static G4RunManager * GetRunManager()
G4LogicalVolume * fLogWorld
G4LogicalVolume * GetLogicalVolume() const
G4double fWidthScorerRing
G4VisAttributes * fMonVisAtt
static G4SDManager * GetSDMpointer()
Definition of the ElectronBenchmarkDetector class.
G4VisAttributes * fHeliumVisAtt
G4VisAttributes * fRingVisAtt
void OpenGeometry(G4VPhysicalVolume *vol=0)
void AddElement(G4Element *element, G4int nAtoms)
virtual ~ElectronBenchmarkDetector()
ElectronBenchmarkDetector()
void ConstructSDandField()
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
void SetVisAttributes(const G4VisAttributes *pVA)
G4VisAttributes * fScorerVisAtt
G4VisAttributes * fWorldVisAtt
G4VisAttributes * fBagVisAtt
G4VPhysicalVolume * CreateWorld()
G4VPhysicalVolume * CreateGeometry()