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) {
void GeometryHasBeenModified(G4bool prop=true)
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)
void PhysicsHasBeenModified()
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 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 SetMaterial(G4Material *pMaterial)
void SetVisAttributes(const G4VisAttributes *pVA)
G4VisAttributes * fScorerVisAtt
G4VisAttributes * fWorldVisAtt
G4VisAttributes * fBagVisAtt
G4VPhysicalVolume * CreateWorld()
G4LogicalVolume * fLogPrimFoil
G4VPhysicalVolume * CreateGeometry()
void SetZHalfLength(G4double newDz)