#include <ElectronBenchmarkDetector.hh>
ElectronBenchmarkDetector::ElectronBenchmarkDetector |
( |
| ) |
|
Definition at line 59 of file ElectronBenchmarkDetector.cc.
77 fPosWindow0 = 0.000000*
cm;
78 fPosWindow1 = 0.004120*
cm;
81 fPosPrimFoil = 2.650000*
cm;
82 fHalfThicknessPrimFoil = 0.0*
cm;
85 fPosMon0 = 5.000000*
cm;
86 fPosMon1 = 5.011270*
cm;
89 fPosBag0 = 6.497500*
cm;
90 fPosHelium0 = 6.500000*
cm;
91 fPosHelium1 = 116.500000*
cm;
92 fPosBag1 = 116.502500*
cm;
93 fThicknessRing = 1.4*
cm;
96 fPosScorer = 118.200000*
cm;
97 fThicknessScorer= 0.001*
cm;
98 fWidthScorerRing= 0.1*
cm;
101 fRadOverall = 23.3*
cm;
102 fRadRingInner = 20.0*
cm;
static constexpr double cm
G4VUserDetectorConstruction()
ElectronBenchmarkDetector::~ElectronBenchmarkDetector |
( |
| ) |
|
|
virtual |
Definition at line 114 of file ElectronBenchmarkDetector.cc.
119 delete fWindowVisAtt;
120 delete fPrimFoilVisAtt;
123 delete fHeliumVisAtt;
125 delete fScorerVisAtt;
void ElectronBenchmarkDetector::ConstructSDandField |
( |
| ) |
|
|
virtual |
Reimplemented from G4VUserDetectorConstruction.
Definition at line 390 of file ElectronBenchmarkDetector.cc.
397 fSensitiveDetectorCache.
Get();
399 if (!sensitiveDetector) {
G4bool RegisterPrimitive(G4VPrimitiveScorer *)
void SetVerboseLevel(G4int vl)
void SetFilter(G4VSDFilter *f)
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void AddNewDetector(G4VSensitiveDetector *aSD)
static G4SDManager * GetSDMpointer()
Definition at line 235 of file ElectronBenchmarkDetector.cc.
236 G4double halfLengthWorld = fPosScorer/2.;
237 G4double halfThicknessWindow = fPosWindow1/2.;
239 halfThicknessWindow, 0.*
deg, 360.*
deg);
249 halfThicknessWindow - halfLengthWorld),
250 windowLog,
"ExitWindow",worldLog,
false,0);
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
static constexpr double cm
static constexpr double deg
void SetVisAttributes(const G4VisAttributes *pVA)
Definition at line 190 of file ElectronBenchmarkDetector.cc.
void CreateScorer(G4LogicalVolume *logicWorld)
void CreatePrimaryFoil(G4LogicalVolume *logicWorld)
static G4PhysicalVolumeStore * GetInstance()
void CreateHeliumBag(G4LogicalVolume *logicWorld)
void CreateMonitor(G4LogicalVolume *logicWorld)
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
void CreateExitWindow(G4LogicalVolume *logicWorld)
static G4GeometryManager * GetInstance()
G4LogicalVolume * GetLogicalVolume() const
void OpenGeometry(G4VPhysicalVolume *vol=0)
G4VPhysicalVolume * CreateWorld()
Definition at line 297 of file ElectronBenchmarkDetector.cc.
298 G4double halfLengthWorld = fPosScorer/2.;
301 G4double halfThicknessBag = (fPosBag1 - fPosBag0) /2.;
303 halfThicknessBag, 0.*
deg, 360.*
deg);
313 fPosBag0 + halfThicknessBag - halfLengthWorld),
314 bagLog,
"HeliumBag",worldLog,
false,0);
317 G4double halfThicknessHelium = (fPosHelium1 - fPosHelium0) /2.;
319 halfThicknessHelium, 0.*
deg, 360.*
deg);
328 heliumLog,
"Helium",bagLog,
false,0);
331 G4double halfThicknessRing = fThicknessRing /2.;
332 G4VSolid* ringSolid =
new G4Tubs(
"ringSolid", fRadRingInner, fRadOverall,
333 halfThicknessRing, 0.*
deg, 360.*
deg);
347 -halfThicknessHelium + halfThicknessRing),
348 ring0Log,
"Ring0",heliumLog,
false,0);
352 halfThicknessHelium - halfThicknessRing),
353 ring1Log,
"Ring1",heliumLog,
false,0);
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
static constexpr double cm
static constexpr double deg
void SetVisAttributes(const G4VisAttributes *pVA)
Definition at line 277 of file ElectronBenchmarkDetector.cc.
278 G4double halfLengthWorld = fPosScorer/2.;
279 G4double halfThicknessMon = (fPosMon1 - fPosMon0) /2.;
281 halfThicknessMon, 0.*
deg, 360.*
deg);
291 fPosMon0 + halfThicknessMon - halfLengthWorld),
292 monLog,
"MonitorChamber",worldLog,
false,0);
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
static constexpr double cm
static constexpr double deg
void SetVisAttributes(const G4VisAttributes *pVA)
Definition at line 255 of file ElectronBenchmarkDetector.cc.
256 G4double halfLengthWorld = fPosScorer/2.;
259 if (fHalfThicknessPrimFoil==0.)
return;
261 fSolidPrimFoil =
new G4Tubs(
"PrimFoilSolid", 0.*
cm, fRadOverall,
262 fHalfThicknessPrimFoil, 0.*
deg, 360.*
deg);
264 fMaterialPrimFoil,
"PrimFoilLog");
271 fPosPrimFoil + fHalfThicknessPrimFoil - halfLengthWorld),
272 fLogPrimFoil,
"ScatteringFoil",worldLog,
false,0);
CLHEP::Hep3Vector G4ThreeVector
static constexpr double cm
static constexpr double deg
void SetVisAttributes(const G4VisAttributes *pVA)
Definition at line 358 of file ElectronBenchmarkDetector.cc.
359 G4double halfLengthWorld = fPosScorer/2.;
360 G4double halfThicknessScorer = fThicknessScorer /2.;
363 halfThicknessScorer, 0.*
deg, 360.*
deg);
372 halfLengthWorld - halfThicknessScorer),
373 scorerLog,
"Scorer",worldLog,
false,0);
377 halfThicknessScorer, 0.*
deg, 360.*
deg);
381 G4int(fRadOverall/fWidthScorerRing),fWidthScorerRing);
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
static constexpr double cm
static constexpr double deg
void ConstructSDandField()
void SetVisAttributes(const G4VisAttributes *pVA)
Definition at line 215 of file ElectronBenchmarkDetector.cc.
216 G4double halfLengthWorld = fPosScorer/2. + fPosDelta;
217 G4double radWorld = fRadOverall + fRadDelta;
219 halfLengthWorld, 0.*
deg, 360.*
deg);
228 worldLog,
"World", 0,
false, 0);
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
static constexpr double cm
static constexpr double deg
void SetVisAttributes(const G4VisAttributes *pVA)
void ElectronBenchmarkDetector::DefineMaterials |
( |
void |
| ) |
|
Definition at line 137 of file ElectronBenchmarkDetector.cc.
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4MaterialTable * GetMaterialTable()
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
static constexpr double cm3
void AddElement(G4Element *element, G4int nAtoms)
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
void ElectronBenchmarkDetector::SetPrimFoilMaterial |
( |
G4String |
matname | ) |
|
Definition at line 427 of file ElectronBenchmarkDetector.cc.
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
void CreatePrimaryFoil(G4LogicalVolume *logicWorld)
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
void SetMaterial(G4Material *pMaterial)
void ElectronBenchmarkDetector::SetPrimFoilThickness |
( |
G4double |
thicknessPrimFoil | ) |
|
Definition at line 438 of file ElectronBenchmarkDetector.cc.
440 fHalfThicknessPrimFoil = thicknessPrimFoil / 2.;
441 if (fSolidPrimFoil) {
void GeometryHasBeenModified(G4bool prop=true)
void CreatePrimaryFoil(G4LogicalVolume *logicWorld)
static G4RunManager * GetRunManager()
void SetZHalfLength(G4double newDz)
The documentation for this class was generated from the following files: