ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ElectronBenchmarkDetector Class Reference

#include <geant4/tree/geant4-10.6-release/examples/extended/medical/electronScattering2/include/ElectronBenchmarkDetector.hh>

+ Inheritance diagram for ElectronBenchmarkDetector:
+ Collaboration diagram for ElectronBenchmarkDetector:

Public Member Functions

 ElectronBenchmarkDetector ()
 
virtual ~ElectronBenchmarkDetector ()
 
virtual G4VPhysicalVolumeConstruct ()
 
void ConstructSDandField ()
 
void DefineMaterials ()
 
G4VPhysicalVolumeCreateWorld ()
 
void CreateExitWindow (G4LogicalVolume *logicWorld)
 
void CreatePrimaryFoil (G4LogicalVolume *logicWorld)
 
void CreateMonitor (G4LogicalVolume *logicWorld)
 
void CreateHeliumBag (G4LogicalVolume *logicWorld)
 
void CreateScorer (G4LogicalVolume *logicWorld)
 
G4VPhysicalVolumeCreateGeometry ()
 
void SetPrimFoilMaterial (G4String matname)
 
void SetPrimFoilThickness (G4double thicknessPrimFoil)
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Private Attributes

G4double fPosWindow0
 
G4double fPosWindow1
 
G4MaterialfMaterialPrimFoil
 
G4double fHalfThicknessPrimFoil
 
G4double fPosPrimFoil
 
G4LogicalVolumefLogPrimFoil
 
G4TubsfSolidPrimFoil
 
G4double fPosMon0
 
G4double fPosMon1
 
G4double fPosBag0
 
G4double fPosBag1
 
G4double fPosHelium0
 
G4double fPosHelium1
 
G4double fThicknessRing
 
G4double fPosScorer
 
G4double fThicknessScorer
 
G4double fWidthScorerRing
 
G4LogicalVolumefScorerRingLog
 
G4double fRadOverall
 
G4double fRadRingInner
 
G4double fPosDelta
 
G4double fRadDelta
 
G4LogicalVolumefLogWorld
 
const G4Cache
< G4MultiFunctionalDetector * > 
fSensitiveDetectorCache
 
ElectronBenchmarkDetectorMessengerfMessenger
 
G4VisAttributesfWorldVisAtt
 
G4VisAttributesfWindowVisAtt
 
G4VisAttributesfPrimFoilVisAtt
 
G4VisAttributesfMonVisAtt
 
G4VisAttributesfBagVisAtt
 
G4VisAttributesfHeliumVisAtt
 
G4VisAttributesfRingVisAtt
 
G4VisAttributesfScorerVisAtt
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 48 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 48 of file ElectronBenchmarkDetector.hh

Constructor & Destructor Documentation

ElectronBenchmarkDetector::ElectronBenchmarkDetector ( )

Definition at line 58 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 58 of file ElectronBenchmarkDetector.cc

References cm, DefineMaterials(), fHalfThicknessPrimFoil, fMessenger, fPosBag0, fPosBag1, fPosDelta, fPosHelium0, fPosHelium1, fPosMon0, fPosMon1, fPosPrimFoil, fPosScorer, fPosWindow0, fPosWindow1, fRadDelta, fRadOverall, fRadRingInner, fThicknessRing, fThicknessScorer, and fWidthScorerRing.

+ Here is the call graph for this function:

ElectronBenchmarkDetector::~ElectronBenchmarkDetector ( )
virtual

Definition at line 113 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 113 of file ElectronBenchmarkDetector.cc

References fBagVisAtt, fHeliumVisAtt, fMessenger, fMonVisAtt, fPrimFoilVisAtt, fRingVisAtt, fScorerVisAtt, fWindowVisAtt, and fWorldVisAtt.

Member Function Documentation

G4VPhysicalVolume * ElectronBenchmarkDetector::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 129 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 129 of file ElectronBenchmarkDetector.cc

References CreateGeometry().

+ Here is the call graph for this function:

void ElectronBenchmarkDetector::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 389 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 389 of file ElectronBenchmarkDetector.cc

References G4SDManager::AddNewDetector(), fScorerRingLog, fSensitiveDetectorCache, G4Cache< VALTYPE >::Get(), G4SDManager::GetSDMpointer(), G4MultiFunctionalDetector::RegisterPrimitive(), G4VPrimitiveScorer::SetFilter(), G4LogicalVolume::SetSensitiveDetector(), and G4SDManager::SetVerboseLevel().

Referenced by CreateScorer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreateExitWindow ( G4LogicalVolume logicWorld)

Definition at line 234 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 234 of file ElectronBenchmarkDetector.cc

References cm, deg, fPosScorer, fPosWindow1, fRadOverall, fWindowVisAtt, G4Material::GetMaterial(), and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * ElectronBenchmarkDetector::CreateGeometry ( )

Definition at line 189 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 189 of file ElectronBenchmarkDetector.cc

References G4PhysicalVolumeStore::Clean(), G4LogicalVolumeStore::Clean(), G4SolidStore::Clean(), CreateExitWindow(), CreateHeliumBag(), CreateMonitor(), CreatePrimaryFoil(), CreateScorer(), CreateWorld(), fLogWorld, G4LogicalVolumeStore::GetInstance(), G4PhysicalVolumeStore::GetInstance(), G4SolidStore::GetInstance(), G4GeometryManager::GetInstance(), G4VPhysicalVolume::GetLogicalVolume(), and G4GeometryManager::OpenGeometry().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreateHeliumBag ( G4LogicalVolume logicWorld)

Definition at line 296 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 296 of file ElectronBenchmarkDetector.cc

References cm, deg, fBagVisAtt, fHeliumVisAtt, fPosBag0, fPosBag1, fPosHelium0, fPosHelium1, fPosScorer, fRadOverall, fRadRingInner, fRingVisAtt, fThicknessRing, G4Material::GetMaterial(), and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreateMonitor ( G4LogicalVolume logicWorld)

Definition at line 276 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 276 of file ElectronBenchmarkDetector.cc

References cm, deg, fMonVisAtt, fPosMon0, fPosMon1, fPosScorer, fRadOverall, G4Material::GetMaterial(), and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreatePrimaryFoil ( G4LogicalVolume logicWorld)

Definition at line 254 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 254 of file ElectronBenchmarkDetector.cc

References cm, deg, fHalfThicknessPrimFoil, fLogPrimFoil, fMaterialPrimFoil, fPosPrimFoil, fPosScorer, fPrimFoilVisAtt, fRadOverall, fSolidPrimFoil, and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry(), SetPrimFoilMaterial(), and SetPrimFoilThickness().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreateScorer ( G4LogicalVolume logicWorld)

Definition at line 357 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 357 of file ElectronBenchmarkDetector.cc

References cm, ConstructSDandField(), deg, fPosScorer, fRadOverall, fScorerRingLog, fScorerVisAtt, fThicknessScorer, fWidthScorerRing, G4Material::GetMaterial(), kRho, and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * ElectronBenchmarkDetector::CreateWorld ( )

Definition at line 214 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 214 of file ElectronBenchmarkDetector.cc

References cm, deg, fPosDelta, fPosScorer, fRadDelta, fRadOverall, fWorldVisAtt, G4Material::GetMaterial(), and G4LogicalVolume::SetVisAttributes().

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::DefineMaterials ( void  )

Definition at line 136 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 136 of file ElectronBenchmarkDetector.cc

References G4Material::AddElement(), C(), cm3, G4NistManager::FindOrBuildElement(), G4NistManager::FindOrBuildMaterial(), Acts::UnitConstants::g, G4cout, G4endl, G4Material::GetMaterialTable(), G4NistManager::Instance(), and G4NistManager::SetVerbose().

Referenced by ElectronBenchmarkDetector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::SetPrimFoilMaterial ( G4String  matname)

Definition at line 426 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 426 of file ElectronBenchmarkDetector.cc

References CreatePrimaryFoil(), fLogPrimFoil, fLogWorld, fMaterialPrimFoil, G4Material::GetMaterial(), G4RunManager::GetRunManager(), G4RunManager::PhysicsHasBeenModified(), and G4LogicalVolume::SetMaterial().

Referenced by ElectronBenchmarkDetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::SetPrimFoilThickness ( G4double  thicknessPrimFoil)

Definition at line 437 of file ElectronBenchmarkDetector.cc.

View newest version in sPHENIX GitHub at line 437 of file ElectronBenchmarkDetector.cc

References CreatePrimaryFoil(), fHalfThicknessPrimFoil, fLogWorld, fSolidPrimFoil, G4RunManager::GeometryHasBeenModified(), G4RunManager::GetRunManager(), and G4Tubs::SetZHalfLength().

Referenced by ElectronBenchmarkDetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4VisAttributes* ElectronBenchmarkDetector::fBagVisAtt
private

Definition at line 129 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 129 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ~ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fHalfThicknessPrimFoil
private

Definition at line 83 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 83 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), ElectronBenchmarkDetector(), and SetPrimFoilThickness().

G4VisAttributes* ElectronBenchmarkDetector::fHeliumVisAtt
private

Definition at line 130 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 130 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ~ElectronBenchmarkDetector().

G4LogicalVolume* ElectronBenchmarkDetector::fLogPrimFoil
private

Definition at line 85 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 85 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), and SetPrimFoilMaterial().

G4LogicalVolume* ElectronBenchmarkDetector::fLogWorld
private

Definition at line 114 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 114 of file ElectronBenchmarkDetector.hh

Referenced by CreateGeometry(), SetPrimFoilMaterial(), and SetPrimFoilThickness().

G4Material* ElectronBenchmarkDetector::fMaterialPrimFoil
private

Definition at line 82 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 82 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), and SetPrimFoilMaterial().

ElectronBenchmarkDetectorMessenger* ElectronBenchmarkDetector::fMessenger
private

Definition at line 122 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 122 of file ElectronBenchmarkDetector.hh

Referenced by ElectronBenchmarkDetector(), and ~ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fMonVisAtt
private

Definition at line 128 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 128 of file ElectronBenchmarkDetector.hh

Referenced by CreateMonitor(), and ~ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosBag0
private

Definition at line 93 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 93 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosBag1
private

Definition at line 94 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 94 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosDelta
private

Definition at line 110 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 110 of file ElectronBenchmarkDetector.hh

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium0
private

Definition at line 95 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 95 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium1
private

Definition at line 96 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 96 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon0
private

Definition at line 89 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 89 of file ElectronBenchmarkDetector.hh

Referenced by CreateMonitor(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon1
private

Definition at line 90 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 90 of file ElectronBenchmarkDetector.hh

Referenced by CreateMonitor(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosPrimFoil
private

Definition at line 84 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 84 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosScorer
private
G4double ElectronBenchmarkDetector::fPosWindow0
private

Definition at line 78 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 78 of file ElectronBenchmarkDetector.hh

Referenced by ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosWindow1
private

Definition at line 79 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 79 of file ElectronBenchmarkDetector.hh

Referenced by CreateExitWindow(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fPrimFoilVisAtt
private

Definition at line 127 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 127 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), and ~ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fRadDelta
private

Definition at line 111 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 111 of file ElectronBenchmarkDetector.hh

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fRadOverall
private
G4double ElectronBenchmarkDetector::fRadRingInner
private

Definition at line 107 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 107 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fRingVisAtt
private

Definition at line 131 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 131 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ~ElectronBenchmarkDetector().

G4LogicalVolume* ElectronBenchmarkDetector::fScorerRingLog
private

Definition at line 103 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 103 of file ElectronBenchmarkDetector.hh

Referenced by ConstructSDandField(), and CreateScorer().

G4VisAttributes* ElectronBenchmarkDetector::fScorerVisAtt
private

Definition at line 132 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 132 of file ElectronBenchmarkDetector.hh

Referenced by CreateScorer(), and ~ElectronBenchmarkDetector().

const G4Cache<G4MultiFunctionalDetector*> ElectronBenchmarkDetector::fSensitiveDetectorCache
private

Definition at line 119 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 119 of file ElectronBenchmarkDetector.hh

Referenced by ConstructSDandField().

G4Tubs* ElectronBenchmarkDetector::fSolidPrimFoil
private

Definition at line 86 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 86 of file ElectronBenchmarkDetector.hh

Referenced by CreatePrimaryFoil(), and SetPrimFoilThickness().

G4double ElectronBenchmarkDetector::fThicknessRing
private

Definition at line 97 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 97 of file ElectronBenchmarkDetector.hh

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fThicknessScorer
private

Definition at line 101 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 101 of file ElectronBenchmarkDetector.hh

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fWidthScorerRing
private

Definition at line 102 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 102 of file ElectronBenchmarkDetector.hh

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fWindowVisAtt
private

Definition at line 126 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 126 of file ElectronBenchmarkDetector.hh

Referenced by CreateExitWindow(), and ~ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fWorldVisAtt
private

Definition at line 125 of file ElectronBenchmarkDetector.hh.

View newest version in sPHENIX GitHub at line 125 of file ElectronBenchmarkDetector.hh

Referenced by CreateWorld(), and ~ElectronBenchmarkDetector().


The documentation for this class was generated from the following files: