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

#include <geant4/tree/geant4-10.6-release/examples/extended/runAndEvent/RE02/include/RE02DetectorConstruction.hh>

+ Inheritance diagram for RE02DetectorConstruction:
+ Collaboration diagram for RE02DetectorConstruction:

Public Member Functions

 RE02DetectorConstruction ()
 
virtual ~RE02DetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
virtual void ConstructSDandField ()
 
void SetPhantomSize (G4ThreeVector size)
 
const G4ThreeVectorGetPhantomSize () const
 
void SetNumberOfSegmentsInPhantom (G4int nx, G4int ny, G4int nz)
 
void GetNumberOfSegmentsInPhantom (G4int &nx, G4int &ny, G4int &nz) const
 
void SetLeadSegment (G4bool flag=TRUE)
 
G4bool IsLeadSegment ()
 
- 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

G4ThreeVector fPhantomSize
 
G4int fNx
 
G4int fNy
 
G4int fNz
 
G4bool fInsertLead
 
G4LogicalVolumefLVPhantomSens
 

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

Uer detector construction class

(Description)

Detector construction for example RE02.

[Geometry] The world volume is defined as 200 cm x 200 cm x 200 cm box with Air. Water phantom is defined as 200 mm x 200 mm x 400 mm box with Water. The water phantom is divided into 100 segments in x,y plane using replication, and then divided into 200 segments perpendicular to z axis using nested parameterised volume. These values are defined at constructor, e.g. the size of water phantom (fPhantomSize), and number of segmentation of water phantom (fNx, fNy, fNz).

By default, lead plates are inserted into the position of even order segments. NIST database is used for materials.

[Scorer] Assignment of G4MultiFunctionalDetector and G4PrimitiveScorer

is demonstrated in this example.

The collection names of defined Primitives are 0 PhantomSD/totalEDep 1 PhantomSD/protonEDep 2 PhantomSD/protonNStep 3 PhantomSD/chargedPassCellFlux 4 PhantomSD/chargedCellFlux 5 PhantomSD/chargedSurfFlux 6 PhantomSD/gammaSurfCurr000 7 PhantomSD/gammaSurfCurr001 9 PhantomSD/gammaSurdCurr002

10 PhantomSD/gammaSurdCurr003

Please see README for detail description.

  • G4VPhysicalVolume* Construct() retrieves material from NIST database, constructs a water phantom "phantom" in the world volume "world" and sets detector sensitivities with G4MultiFunctionalDetector
  • void GetNumberOfSegmentsInPhantom(G4int& nx, G4int& ny, G4int& nz) gets the number of segments of the water phantom
  • void SetLeadSegment(G4bool flag=TRUE) selects whether insert or not Lead plate in water or simple homogeneous water phantom

Definition at line 110 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 110 of file RE02DetectorConstruction.hh

Constructor & Destructor Documentation

RE02DetectorConstruction::RE02DetectorConstruction ( )

Definition at line 105 of file RE02DetectorConstruction.cc.

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

References fInsertLead, fNx, fNy, fNz, fPhantomSize, mm, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), and TRUE.

+ Here is the call graph for this function:

RE02DetectorConstruction::~RE02DetectorConstruction ( )
virtual

Definition at line 117 of file RE02DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 117 of file RE02DetectorConstruction.cc

Member Function Documentation

G4VPhysicalVolume * RE02DetectorConstruction::Construct ( void  )
virtual
void RE02DetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 291 of file RE02DetectorConstruction.cc.

View newest version in sPHENIX GitHub at line 291 of file RE02DetectorConstruction.cc

References G4SDParticleWithEnergyFilter::add(), G4SDParticleFilter::add(), G4SDManager::AddNewDetector(), fCurrent_InOut, fFlux_InOut, fLVPhantomSens, fNx, fNy, fNz, G4SDManager::GetSDMpointer(), keV, G4MultiFunctionalDetector::RegisterPrimitive(), G4VPrimitiveScorer::SetFilter(), G4LogicalVolume::SetSensitiveDetector(), and G4SDParticleWithEnergyFilter::show().

+ Here is the call graph for this function:

void RE02DetectorConstruction::GetNumberOfSegmentsInPhantom ( G4int nx,
G4int ny,
G4int nz 
) const
inline

Definition at line 130 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 130 of file RE02DetectorConstruction.hh

References fNx, fNy, and fNz.

Referenced by RE02RunAction::EndOfRunAction().

+ Here is the caller graph for this function:

const G4ThreeVector& RE02DetectorConstruction::GetPhantomSize ( ) const
inline

Definition at line 126 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 126 of file RE02DetectorConstruction.hh

References fPhantomSize.

G4bool RE02DetectorConstruction::IsLeadSegment ( )
inline

Definition at line 134 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 134 of file RE02DetectorConstruction.hh

References fInsertLead.

Referenced by Construct().

+ Here is the caller graph for this function:

void RE02DetectorConstruction::SetLeadSegment ( G4bool  flag = TRUE)
inline

Definition at line 133 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 133 of file RE02DetectorConstruction.hh

References fInsertLead.

Referenced by main().

+ Here is the caller graph for this function:

void RE02DetectorConstruction::SetNumberOfSegmentsInPhantom ( G4int  nx,
G4int  ny,
G4int  nz 
)
inline

Definition at line 128 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 128 of file RE02DetectorConstruction.hh

References fNx, fNy, and fNz.

Referenced by main().

+ Here is the caller graph for this function:

void RE02DetectorConstruction::SetPhantomSize ( G4ThreeVector  size)
inline

Definition at line 125 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 125 of file RE02DetectorConstruction.hh

References fPhantomSize.

Referenced by main().

+ Here is the caller graph for this function:

Member Data Documentation

G4bool RE02DetectorConstruction::fInsertLead
private

Definition at line 140 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 140 of file RE02DetectorConstruction.hh

Referenced by IsLeadSegment(), RE02DetectorConstruction(), and SetLeadSegment().

G4LogicalVolume* RE02DetectorConstruction::fLVPhantomSens
private

Definition at line 141 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 141 of file RE02DetectorConstruction.hh

Referenced by Construct(), and ConstructSDandField().

G4int RE02DetectorConstruction::fNx
private
G4int RE02DetectorConstruction::fNy
private
G4int RE02DetectorConstruction::fNz
private
G4ThreeVector RE02DetectorConstruction::fPhantomSize
private

Definition at line 138 of file RE02DetectorConstruction.hh.

View newest version in sPHENIX GitHub at line 138 of file RE02DetectorConstruction.hh

Referenced by Construct(), GetPhantomSize(), RE02DetectorConstruction(), and SetPhantomSize().


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