Geant4  10.01.p02
ElectronBenchmarkDetector Class Reference

#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 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
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Private Attributes

G4double fPosWindow0
 
G4double fPosWindow1
 
G4MaterialfMaterialPrimFoil
 
G4double fHalfThicknessPrimFoil
 
G4double fPosPrimFoil
 
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.

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: