Geant4  10.01
ElectronBenchmarkDetector Class Reference

#include <ElectronBenchmarkDetector.hh>

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

Public Member Functions

 ElectronBenchmarkDetector ()
 
virtual ~ElectronBenchmarkDetector ()
 
virtual G4VPhysicalVolume * Construct ()
 
void ConstructSDandField ()
 
void DefineMaterials ()
 
G4VPhysicalVolume * CreateWorld ()
 
void CreateExitWindow (G4LogicalVolume *logicWorld)
 
void CreatePrimaryFoil (G4LogicalVolume *logicWorld)
 
void CreateMonitor (G4LogicalVolume *logicWorld)
 
void CreateHeliumBag (G4LogicalVolume *logicWorld)
 
void CreateScorer (G4LogicalVolume *logicWorld)
 
G4VPhysicalVolume * CreateGeometry ()
 
void UpdateGeometry ()
 
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
 
G4VUserParallelWorld * GetParallelWorld (G4int i) const
 

Private Attributes

G4double fPosWindow0
 
G4double fPosWindow1
 
G4Material * fMaterialPrimFoil
 
G4double fHalfThicknessPrimFoil
 
G4double fPosPrimFoil
 
G4double fPosMon0
 
G4double fPosMon1
 
G4double fPosBag0
 
G4double fPosBag1
 
G4double fPosHelium0
 
G4double fPosHelium1
 
G4double fThicknessRing
 
G4double fPosScorer
 
G4double fThicknessScorer
 
G4double fWidthScorerRing
 
G4LogicalVolume * fScorerRingLog
 
G4double fRadOverall
 
G4double fRadRingInner
 
G4double fPosDelta
 
G4double fRadDelta
 
G4LogicalVolume * fLogWorld
 
const G4Cache
< G4MultiFunctionalDetector * > 
fSensitiveDetectorCache
 
ElectronBenchmarkDetectorMessenger * fMessenger
 
G4VisAttributes * fWorldVisAtt
 
G4VisAttributes * fWindowVisAtt
 
G4VisAttributes * fPrimFoilVisAtt
 
G4VisAttributes * fMonVisAtt
 
G4VisAttributes * fBagVisAtt
 
G4VisAttributes * fHeliumVisAtt
 
G4VisAttributes * fRingVisAtt
 
G4VisAttributes * fScorerVisAtt
 

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.

Constructor & Destructor Documentation

ElectronBenchmarkDetector::ElectronBenchmarkDetector ( )

Definition at line 59 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

Member Function Documentation

G4VPhysicalVolume * ElectronBenchmarkDetector::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 128 of file ElectronBenchmarkDetector.cc.

References CreateGeometry().

+ Here is the call graph for this function:

void ElectronBenchmarkDetector::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 394 of file ElectronBenchmarkDetector.cc.

References fSensitiveDetectorCache, G4Cache< VALTYPE >::Get(), G4SDManager::GetSDMpointer(), G4MultiFunctionalDetector::RegisterPrimitive(), G4VPrimitiveScorer::SetFilter(), G4VUserDetectorConstruction::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 239 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 188 of file ElectronBenchmarkDetector.cc.

References G4PhysicalVolumeStore::Clean(), G4SolidStore::Clean(), G4LogicalVolumeStore::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 301 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 281 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 259 of file ElectronBenchmarkDetector.cc.

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

Referenced by CreateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::CreateScorer ( G4LogicalVolume *  logicWorld)

Definition at line 362 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 219 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 135 of file ElectronBenchmarkDetector.cc.

References G4Material::AddElement(), Al, cm3, density, G4NistManager::FindOrBuildElement(), G4NistManager::FindOrBuildMaterial(), 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 431 of file ElectronBenchmarkDetector.cc.

References fMaterialPrimFoil, G4Material::GetMaterial(), and UpdateGeometry().

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 438 of file ElectronBenchmarkDetector.cc.

References fHalfThicknessPrimFoil, and UpdateGeometry().

Referenced by ElectronBenchmarkDetectorMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ElectronBenchmarkDetector::UpdateGeometry ( )

Definition at line 213 of file ElectronBenchmarkDetector.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by SetPrimFoilMaterial(), and SetPrimFoilThickness().

+ 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 128 of file ElectronBenchmarkDetector.hh.

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

G4double ElectronBenchmarkDetector::fHalfThicknessPrimFoil
private
G4VisAttributes* ElectronBenchmarkDetector::fHeliumVisAtt
private

Definition at line 129 of file ElectronBenchmarkDetector.hh.

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

G4LogicalVolume* ElectronBenchmarkDetector::fLogWorld
private

Definition at line 113 of file ElectronBenchmarkDetector.hh.

Referenced by CreateGeometry().

G4Material* ElectronBenchmarkDetector::fMaterialPrimFoil
private

Definition at line 83 of file ElectronBenchmarkDetector.hh.

Referenced by CreatePrimaryFoil(), and SetPrimFoilMaterial().

ElectronBenchmarkDetectorMessenger* ElectronBenchmarkDetector::fMessenger
private
G4VisAttributes* ElectronBenchmarkDetector::fMonVisAtt
private

Definition at line 127 of file ElectronBenchmarkDetector.hh.

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

G4double ElectronBenchmarkDetector::fPosBag0
private

Definition at line 92 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosBag1
private

Definition at line 93 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosDelta
private

Definition at line 109 of file ElectronBenchmarkDetector.hh.

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium0
private

Definition at line 94 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium1
private

Definition at line 95 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon0
private

Definition at line 88 of file ElectronBenchmarkDetector.hh.

Referenced by CreateMonitor(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon1
private

Definition at line 89 of file ElectronBenchmarkDetector.hh.

Referenced by CreateMonitor(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosPrimFoil
private

Definition at line 85 of file ElectronBenchmarkDetector.hh.

Referenced by CreatePrimaryFoil(), and ElectronBenchmarkDetector().

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

Definition at line 79 of file ElectronBenchmarkDetector.hh.

Referenced by ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosWindow1
private

Definition at line 80 of file ElectronBenchmarkDetector.hh.

Referenced by CreateExitWindow(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fPrimFoilVisAtt
private

Definition at line 126 of file ElectronBenchmarkDetector.hh.

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

G4double ElectronBenchmarkDetector::fRadDelta
private

Definition at line 110 of file ElectronBenchmarkDetector.hh.

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

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

Definition at line 106 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fRingVisAtt
private

Definition at line 130 of file ElectronBenchmarkDetector.hh.

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

G4LogicalVolume* ElectronBenchmarkDetector::fScorerRingLog
private

Definition at line 102 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer().

G4VisAttributes* ElectronBenchmarkDetector::fScorerVisAtt
private

Definition at line 131 of file ElectronBenchmarkDetector.hh.

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

const G4Cache<G4MultiFunctionalDetector*> ElectronBenchmarkDetector::fSensitiveDetectorCache
private

Definition at line 118 of file ElectronBenchmarkDetector.hh.

Referenced by ConstructSDandField().

G4double ElectronBenchmarkDetector::fThicknessRing
private

Definition at line 96 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fThicknessScorer
private

Definition at line 100 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fWidthScorerRing
private

Definition at line 101 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fWindowVisAtt
private

Definition at line 125 of file ElectronBenchmarkDetector.hh.

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

G4VisAttributes* ElectronBenchmarkDetector::fWorldVisAtt
private

Definition at line 124 of file ElectronBenchmarkDetector.hh.

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


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