Geant4  10.02.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 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 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 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(), Al, C(), 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 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: