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

#include <geant4/tree/geant4-10.6-release/examples/extended/runAndEvent/RE06/include/RE06DetectorConstruction.hh>

+ Inheritance diagram for RE06DetectorConstruction:
+ Collaboration diagram for RE06DetectorConstruction:

Public Member Functions

 RE06DetectorConstruction ()
 
virtual ~RE06DetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
void ConstructSDandField ()
 
void PrintCalorParameters () const
 
void SetAbsorberMaterial (G4String materialChoice)
 
G4String GetAbsorberMaterial () const
 
void SetGapMaterial (G4String materialChoice)
 
G4String GetGapMaterial () const
 
void SetSerialGeometry (G4bool ser)
 
void SetNumberOfLayers (G4int nl)
 
G4int GetNumberOfLayers () const
 
G4bool IsSerial () const
 
void AddMaterial ()
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int val)
 
- 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 Member Functions

void DefineMaterials ()
 
void SetupGeometry ()
 
void SetupDetectors ()
 

Private Attributes

G4int fNumberOfLayers
 
G4double fTotalThickness
 total thinkness of one calorimeter
 
G4double fLayerThickness
 = fTotalThickness / fNumberOfLayers
 
G4bool fConstructed
 
G4String fCalName [3]
 
G4MaterialfWorldMaterial
 
G4MaterialfAbsorberMaterial
 
G4MaterialfGapMaterial
 
G4BoxfLayerSolid
 
G4BoxfGapSolid
 
G4LogicalVolumefWorldLogical
 
G4LogicalVolumefCalorLogical [3]
 
G4LogicalVolumefLayerLogical [3]
 
G4LogicalVolumefGapLogical [3]
 
G4VPhysicalVolumefWorldPhysical
 
G4VPhysicalVolumefCalorPhysical [3]
 
G4PVReplicafLayerPhysical [3]
 
G4VPhysicalVolumefGapPhysical [3]
 
G4bool fSerial
 
RE06DetectorMessengerfDetectorMessenger
 
G4int fVerboseLevel
 

Static Private Attributes

static G4ThreadLocal G4bool fConstructedSDandField = false
 

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 44 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 44 of file RE06DetectorConstruction.hh

Constructor & Destructor Documentation

RE06DetectorConstruction::RE06DetectorConstruction ( )
RE06DetectorConstruction::~RE06DetectorConstruction ( )
virtual

Definition at line 105 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 105 of file RE06DetectorConstruction.cc

References fDetectorMessenger.

Member Function Documentation

void RE06DetectorConstruction::AddMaterial ( )

Definition at line 515 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 515 of file RE06DetectorConstruction.cc

References a, G4Material::AddElement(), atmosphere, C(), cm3, Acts::UnitConstants::g, G4Element::GetElement(), kelvin, kStateGas, mg, mole, and z.

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VPhysicalVolume * RE06DetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 108 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 108 of file RE06DetectorConstruction.cc

References DefineMaterials(), fConstructed, fWorldPhysical, GetVerboseLevel(), PrintCalorParameters(), and SetupGeometry().

+ Here is the call graph for this function:

void RE06DetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 122 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 122 of file RE06DetectorConstruction.cc

References fConstructedSDandField, and SetupDetectors().

+ Here is the call graph for this function:

void RE06DetectorConstruction::DefineMaterials ( void  )
private

Definition at line 133 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 133 of file RE06DetectorConstruction.cc

References a, G4Material::AddElement(), G4Element::AddIsotope(), C(), cm3, e, fAbsorberMaterial, fGapMaterial, fWorldMaterial, Acts::UnitConstants::g, G4cout, G4endl, G4Material::GetMaterialTable(), GetVerboseLevel(), H, kelvin, kStateGas, mg, mole, n, N, pascal, perCent, source.hepunit::universe_mean_density, and z.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String RE06DetectorConstruction::GetAbsorberMaterial ( ) const

Definition at line 435 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 435 of file RE06DetectorConstruction.cc

References fAbsorberMaterial, and G4Material::GetName().

Referenced by RE06DetectorMessenger::GetCurrentValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String RE06DetectorConstruction::GetGapMaterial ( ) const

Definition at line 461 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 461 of file RE06DetectorConstruction.cc

References fGapMaterial, and G4Material::GetName().

Referenced by RE06DetectorMessenger::GetCurrentValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int RE06DetectorConstruction::GetNumberOfLayers ( ) const
inline

Definition at line 61 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 61 of file RE06DetectorConstruction.hh

References fNumberOfLayers.

Referenced by RE06DetectorMessenger::GetCurrentValue().

+ Here is the caller graph for this function:

G4int RE06DetectorConstruction::GetVerboseLevel ( ) const
inline

Definition at line 66 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 66 of file RE06DetectorConstruction.hh

References fVerboseLevel.

Referenced by Construct(), DefineMaterials(), RE06DetectorMessenger::GetCurrentValue(), SetAbsorberMaterial(), and SetGapMaterial().

+ Here is the caller graph for this function:

G4bool RE06DetectorConstruction::IsSerial ( ) const
inline

Definition at line 62 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 62 of file RE06DetectorConstruction.hh

References fSerial.

Referenced by RE06DetectorMessenger::GetCurrentValue().

+ Here is the caller graph for this function:

void RE06DetectorConstruction::PrintCalorParameters ( ) const

Definition at line 393 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 393 of file RE06DetectorConstruction.cc

References fAbsorberMaterial, fGapMaterial, fSerial, G4cout, G4endl, and G4Material::GetName().

Referenced by Construct(), SetAbsorberMaterial(), and SetGapMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetAbsorberMaterial ( G4String  materialChoice)

Definition at line 409 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 409 of file RE06DetectorConstruction.cc

References fAbsorberMaterial, fCalorLogical, fConstructed, fLayerLogical, G4cerr, G4endl, G4RunManager::GeometryHasBeenModified(), G4Material::GetMaterial(), G4RunManager::GetRunManager(), GetVerboseLevel(), PrintCalorParameters(), and G4LogicalVolume::SetMaterial().

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetGapMaterial ( G4String  materialChoice)

Definition at line 440 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 440 of file RE06DetectorConstruction.cc

References fConstructed, fGapLogical, fGapMaterial, G4cerr, G4endl, G4RunManager::GeometryHasBeenModified(), G4Material::GetMaterial(), G4RunManager::GetRunManager(), GetVerboseLevel(), PrintCalorParameters(), and G4LogicalVolume::SetMaterial().

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetNumberOfLayers ( G4int  nl)

Definition at line 493 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 493 of file RE06DetectorConstruction.cc

References fCalName, fCalorLogical, fConstructed, fGapPhysical, fGapSolid, fLayerLogical, fLayerPhysical, fLayerSolid, fLayerThickness, fNumberOfLayers, fTotalThickness, G4RunManager::GeometryHasBeenModified(), G4RunManager::GetRunManager(), kZAxis, G4LogicalVolume::RemoveDaughter(), G4VPhysicalVolume::SetTranslation(), and G4Box::SetZHalfLength().

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetSerialGeometry ( G4bool  ser)

Definition at line 466 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 466 of file RE06DetectorConstruction.cc

References fCalorPhysical, fConstructed, fSerial, G4RunManager::GeometryHasBeenModified(), G4VUserDetectorConstruction::GetParallelWorld(), G4RunManager::GetRunManager(), G4RunManager::GetUserPrimaryGeneratorAction(), m, RE06PrimaryGeneratorAction::SetSerial(), and G4VPhysicalVolume::SetTranslation().

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetupDetectors ( )
private

Definition at line 318 of file RE06DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 318 of file RE06DetectorConstruction.cc

References G4SDParticleFilter::add(), G4SDManager::AddNewDetector(), fCalName, fGapLogical, fLayerLogical, G4SDManager::GetSDMpointer(), G4MultiFunctionalDetector::RegisterPrimitive(), G4VPrimitiveScorer::SetFilter(), G4VUserDetectorConstruction::SetSensitiveDetector(), and G4SDManager::SetVerboseLevel().

Referenced by ConstructSDandField().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetupGeometry ( )
private

Definition at line 234 of file RE06DetectorConstruction.cc.

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

References G4Region::AddRootLogicalVolume(), fAbsorberMaterial, fCalName, fCalorLogical, fCalorPhysical, fGapLogical, fGapMaterial, fGapPhysical, fGapSolid, fLayerLogical, fLayerPhysical, fLayerSolid, fLayerThickness, fNumberOfLayers, fSerial, fTotalThickness, fWorldLogical, fWorldMaterial, fWorldPhysical, G4VisAttributes::GetInvisible(), kZAxis, m, G4LogicalVolume::SetRegion(), G4LogicalVolume::SetVisAttributes(), and G4VisAttributes::SetVisibility().

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RE06DetectorConstruction::SetVerboseLevel ( G4int  val)
inline

Definition at line 67 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 67 of file RE06DetectorConstruction.hh

References fVerboseLevel.

Referenced by RE06DetectorMessenger::SetNewValue().

+ Here is the caller graph for this function:

Member Data Documentation

G4Material* RE06DetectorConstruction::fAbsorberMaterial
private

Definition at line 86 of file RE06DetectorConstruction.hh.

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

Referenced by DefineMaterials(), GetAbsorberMaterial(), PrintCalorParameters(), SetAbsorberMaterial(), and SetupGeometry().

G4String RE06DetectorConstruction::fCalName[3]
private

Definition at line 83 of file RE06DetectorConstruction.hh.

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

Referenced by RE06DetectorConstruction(), SetNumberOfLayers(), SetupDetectors(), and SetupGeometry().

G4LogicalVolume* RE06DetectorConstruction::fCalorLogical[3]
private

Definition at line 93 of file RE06DetectorConstruction.hh.

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

Referenced by RE06DetectorConstruction(), SetAbsorberMaterial(), SetNumberOfLayers(), and SetupGeometry().

G4VPhysicalVolume* RE06DetectorConstruction::fCalorPhysical[3]
private

Definition at line 98 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 98 of file RE06DetectorConstruction.hh

Referenced by RE06DetectorConstruction(), SetSerialGeometry(), and SetupGeometry().

G4bool RE06DetectorConstruction::fConstructed
private

Definition at line 80 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 80 of file RE06DetectorConstruction.hh

Referenced by Construct(), SetAbsorberMaterial(), SetGapMaterial(), SetNumberOfLayers(), and SetSerialGeometry().

G4ThreadLocal G4bool RE06DetectorConstruction::fConstructedSDandField = false
staticprivate

Definition at line 81 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 81 of file RE06DetectorConstruction.hh

Referenced by ConstructSDandField().

RE06DetectorMessenger* RE06DetectorConstruction::fDetectorMessenger
private

Definition at line 104 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 104 of file RE06DetectorConstruction.hh

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

G4LogicalVolume* RE06DetectorConstruction::fGapLogical[3]
private

Definition at line 95 of file RE06DetectorConstruction.hh.

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

Referenced by RE06DetectorConstruction(), SetGapMaterial(), SetupDetectors(), and SetupGeometry().

G4Material* RE06DetectorConstruction::fGapMaterial
private

Definition at line 87 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 87 of file RE06DetectorConstruction.hh

Referenced by DefineMaterials(), GetGapMaterial(), PrintCalorParameters(), SetGapMaterial(), and SetupGeometry().

G4VPhysicalVolume* RE06DetectorConstruction::fGapPhysical[3]
private

Definition at line 100 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 100 of file RE06DetectorConstruction.hh

Referenced by RE06DetectorConstruction(), SetNumberOfLayers(), and SetupGeometry().

G4Box* RE06DetectorConstruction::fGapSolid
private

Definition at line 90 of file RE06DetectorConstruction.hh.

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

Referenced by SetNumberOfLayers(), and SetupGeometry().

G4LogicalVolume* RE06DetectorConstruction::fLayerLogical[3]
private

Definition at line 94 of file RE06DetectorConstruction.hh.

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

Referenced by RE06DetectorConstruction(), SetAbsorberMaterial(), SetNumberOfLayers(), SetupDetectors(), and SetupGeometry().

G4PVReplica* RE06DetectorConstruction::fLayerPhysical[3]
private

Definition at line 99 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 99 of file RE06DetectorConstruction.hh

Referenced by RE06DetectorConstruction(), SetNumberOfLayers(), and SetupGeometry().

G4Box* RE06DetectorConstruction::fLayerSolid
private

Definition at line 89 of file RE06DetectorConstruction.hh.

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

Referenced by SetNumberOfLayers(), and SetupGeometry().

G4double RE06DetectorConstruction::fLayerThickness
private

= fTotalThickness / fNumberOfLayers

Definition at line 78 of file RE06DetectorConstruction.hh.

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

Referenced by RE06DetectorConstruction(), SetNumberOfLayers(), and SetupGeometry().

G4int RE06DetectorConstruction::fNumberOfLayers
private

Definition at line 75 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 75 of file RE06DetectorConstruction.hh

Referenced by GetNumberOfLayers(), RE06DetectorConstruction(), SetNumberOfLayers(), and SetupGeometry().

G4bool RE06DetectorConstruction::fSerial
private

Definition at line 102 of file RE06DetectorConstruction.hh.

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

Referenced by IsSerial(), PrintCalorParameters(), SetSerialGeometry(), and SetupGeometry().

G4double RE06DetectorConstruction::fTotalThickness
private

total thinkness of one calorimeter

Definition at line 77 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 77 of file RE06DetectorConstruction.hh

Referenced by RE06DetectorConstruction(), SetNumberOfLayers(), and SetupGeometry().

G4int RE06DetectorConstruction::fVerboseLevel
private

Definition at line 106 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 106 of file RE06DetectorConstruction.hh

Referenced by GetVerboseLevel(), and SetVerboseLevel().

G4LogicalVolume* RE06DetectorConstruction::fWorldLogical
private

Definition at line 92 of file RE06DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 92 of file RE06DetectorConstruction.hh

Referenced by SetupGeometry().

G4Material* RE06DetectorConstruction::fWorldMaterial
private

Definition at line 85 of file RE06DetectorConstruction.hh.

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

Referenced by DefineMaterials(), and SetupGeometry().

G4VPhysicalVolume* RE06DetectorConstruction::fWorldPhysical
private

Definition at line 97 of file RE06DetectorConstruction.hh.

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

Referenced by Construct(), and SetupGeometry().


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