Geant4  10.03
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 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
 
G4LogicalVolume * fLogPrimFoil
 
G4Tubs * fSolidPrimFoil
 
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 49 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 130 of file ElectronBenchmarkDetector.cc.

References CreateGeometry().

+ Here is the call graph for this function:

void ElectronBenchmarkDetector::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 390 of file ElectronBenchmarkDetector.cc.

References G4SDManager::AddNewDetector(), 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 235 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 190 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 297 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 277 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 255 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 358 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 215 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 137 of file ElectronBenchmarkDetector.cc.

References G4Material::AddElement(), C(), cm3, 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 427 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 438 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 130 of file ElectronBenchmarkDetector.hh.

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

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

Definition at line 131 of file ElectronBenchmarkDetector.hh.

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

G4LogicalVolume* ElectronBenchmarkDetector::fLogPrimFoil
private

Definition at line 86 of file ElectronBenchmarkDetector.hh.

Referenced by CreatePrimaryFoil(), and SetPrimFoilMaterial().

G4LogicalVolume* ElectronBenchmarkDetector::fLogWorld
private
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 129 of file ElectronBenchmarkDetector.hh.

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

G4double ElectronBenchmarkDetector::fPosBag0
private

Definition at line 94 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosBag1
private

Definition at line 95 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosDelta
private

Definition at line 111 of file ElectronBenchmarkDetector.hh.

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium0
private

Definition at line 96 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosHelium1
private

Definition at line 97 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon0
private

Definition at line 90 of file ElectronBenchmarkDetector.hh.

Referenced by CreateMonitor(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fPosMon1
private

Definition at line 91 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 128 of file ElectronBenchmarkDetector.hh.

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

G4double ElectronBenchmarkDetector::fRadDelta
private

Definition at line 112 of file ElectronBenchmarkDetector.hh.

Referenced by CreateWorld(), and ElectronBenchmarkDetector().

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

Definition at line 108 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fRingVisAtt
private

Definition at line 132 of file ElectronBenchmarkDetector.hh.

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

G4LogicalVolume* ElectronBenchmarkDetector::fScorerRingLog
private

Definition at line 104 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer().

G4VisAttributes* ElectronBenchmarkDetector::fScorerVisAtt
private

Definition at line 133 of file ElectronBenchmarkDetector.hh.

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

const G4Cache<G4MultiFunctionalDetector*> ElectronBenchmarkDetector::fSensitiveDetectorCache
private

Definition at line 120 of file ElectronBenchmarkDetector.hh.

Referenced by ConstructSDandField().

G4Tubs* ElectronBenchmarkDetector::fSolidPrimFoil
private

Definition at line 87 of file ElectronBenchmarkDetector.hh.

Referenced by CreatePrimaryFoil(), and SetPrimFoilThickness().

G4double ElectronBenchmarkDetector::fThicknessRing
private

Definition at line 98 of file ElectronBenchmarkDetector.hh.

Referenced by CreateHeliumBag(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fThicknessScorer
private

Definition at line 102 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4double ElectronBenchmarkDetector::fWidthScorerRing
private

Definition at line 103 of file ElectronBenchmarkDetector.hh.

Referenced by CreateScorer(), and ElectronBenchmarkDetector().

G4VisAttributes* ElectronBenchmarkDetector::fWindowVisAtt
private

Definition at line 127 of file ElectronBenchmarkDetector.hh.

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

G4VisAttributes* ElectronBenchmarkDetector::fWorldVisAtt
private

Definition at line 126 of file ElectronBenchmarkDetector.hh.

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


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