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

#include <geant4/tree/geant4-10.6-release/examples/advanced/ChargeExchangeMC/include/CexmcSetup.hh>

+ Inheritance diagram for CexmcSetup:
+ Collaboration diagram for CexmcSetup:

Classes

struct  CalorimeterGeometryData
 

Public Types

enum  SpecialVolumeType { Monitor, VetoCounter, Calorimeter, Target }
 

Public Member Functions

 CexmcSetup (const G4String &gdmlFile="default.gdml", G4bool validateGDMLFile=true)
 
G4VPhysicalVolumeConstruct (void)
 
const G4AffineTransformGetTargetTransform (void) const
 
const G4AffineTransformGetCalorimeterLeftTransform (void) const
 
const G4AffineTransformGetCalorimeterRightTransform (void) const
 
void ConvertToCrystalGeometry (const G4ThreeVector &src, G4int &row, G4int &column, G4ThreeVector &dst) const
 
const CalorimeterGeometryDataGetCalorimeterGeometry (void) const
 
const G4LogicalVolumeGetVolume (SpecialVolumeType volume) const
 
G4bool IsRightDetector (const G4VPhysicalVolume *pVolume) const
 
G4bool IsRightCalorimeter (const G4VPhysicalVolume *pVolume) const
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void ConstructSDandField ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Private Member Functions

void SetupSpecialVolumes (const G4GDMLParser &gdmlParser)
 
void ReadTransforms (const G4GDMLParser &gdmlParser)
 
void ReadCalorimeterGeometryData (const G4LogicalVolume *lVolume)
 
void ReadRightDetectors (void)
 

Static Private Member Functions

static void AssertAndAsignDetectorRole (CexmcDetectorRole &detectorRole, CexmcDetectorRole value)
 
static void RotateMatrix (const G4ThreeVector &pos, G4RotationMatrix &rm)
 

Private Attributes

G4VPhysicalVolumeworld
 
G4String gdmlFile
 
G4bool validateGDMLFile
 
G4bool calorimeterRegionInitialized
 
G4bool calorimeterGeometryDataInitialized
 
G4LogicalVolumemonitorVolume
 
G4LogicalVolumevetoCounterVolume
 
G4LogicalVolumecalorimeterVolume
 
G4LogicalVolumetargetVolume
 
G4VPhysicalVolumerightVetoCounter
 
G4VPhysicalVolumerightCalorimeter
 
G4AffineTransform targetTransform
 
G4AffineTransform calorimeterLeftTransform
 
G4AffineTransform calorimeterRightTransform
 
CalorimeterGeometryData calorimeterGeometry
 

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 59 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 59 of file CexmcSetup.hh

Member Enumeration Documentation

Enumerator:
Monitor 
VetoCounter 
Calorimeter 
Target 

Definition at line 62 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 62 of file CexmcSetup.hh

Constructor & Destructor Documentation

CexmcSetup::CexmcSetup ( const G4String gdmlFile = "default.gdml",
G4bool  validateGDMLFile = true 
)
explicit

Definition at line 71 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 71 of file CexmcSetup.cc

Member Function Documentation

void CexmcSetup::AssertAndAsignDetectorRole ( CexmcDetectorRole detectorRole,
CexmcDetectorRole  value 
)
staticprivate

Definition at line 475 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 475 of file CexmcSetup.cc

References CexmcMultipleDetectorRoles, and CexmcNumberOfDetectorRoles.

Referenced by SetupSpecialVolumes().

+ Here is the caller graph for this function:

G4VPhysicalVolume * CexmcSetup::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 82 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 82 of file CexmcSetup.cc

References CexmcWeirdException, gdmlFile, G4RunManager::GetRunManager(), G4RunManager::GetUserPhysicsList(), G4GDMLParser::GetWorldVolume(), G4GDMLParser::Read(), ReadRightDetectors(), ReadTransforms(), CexmcPhysicsManager::SetupConstructionHook(), CexmcRunManager::SetupConstructionHook(), SetupSpecialVolumes(), validateGDMLFile, and world.

+ Here is the call graph for this function:

void CexmcSetup::ConvertToCrystalGeometry ( const G4ThreeVector src,
G4int row,
G4int column,
G4ThreeVector dst 
) const

Definition at line 418 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 418 of file CexmcSetup.cc

References calorimeterGeometry, CexmcSetup::CalorimeterGeometryData::crystalHeight, CexmcSetup::CalorimeterGeometryData::crystalWidth, CexmcSetup::CalorimeterGeometryData::nCrystalsInColumn, CexmcSetup::CalorimeterGeometryData::nCrystalsInRow, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::x(), and CLHEP::Hep3Vector::y().

+ Here is the call graph for this function:

const CexmcSetup::CalorimeterGeometryData & CexmcSetup::GetCalorimeterGeometry ( void  ) const
inline

Definition at line 182 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 182 of file CexmcSetup.hh

References calorimeterGeometry.

Referenced by CexmcEnergyDepositDigitizer::CexmcEnergyDepositDigitizer(), CexmcReconstructor::CexmcReconstructor(), CexmcTrackPointsDigitizer::CexmcTrackPointsDigitizer(), and CexmcScenePrimitives::HighlightInnerCrystals().

+ Here is the caller graph for this function:

const G4AffineTransform & CexmcSetup::GetCalorimeterLeftTransform ( void  ) const
inline

Definition at line 167 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 167 of file CexmcSetup.hh

References calorimeterLeftTransform.

Referenced by CexmcReconstructor::CexmcReconstructor(), and CexmcScenePrimitives::HighlightInnerCrystals().

+ Here is the caller graph for this function:

const G4AffineTransform & CexmcSetup::GetCalorimeterRightTransform ( void  ) const
inline

Definition at line 174 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 174 of file CexmcSetup.hh

References calorimeterRightTransform.

Referenced by CexmcReconstructor::CexmcReconstructor(), and CexmcScenePrimitives::HighlightInnerCrystals().

+ Here is the caller graph for this function:

const G4AffineTransform & CexmcSetup::GetTargetTransform ( void  ) const
inline

Definition at line 161 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 161 of file CexmcSetup.hh

References targetTransform.

Referenced by CexmcReconstructor::CexmcReconstructor(), CexmcScenePrimitives::DrawRadialLine(), CexmcScenePrimitives::MarkTargetCenter(), and CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >::SetupConstructionHook().

+ Here is the caller graph for this function:

const G4LogicalVolume * CexmcSetup::GetVolume ( SpecialVolumeType  volume) const
inline

Definition at line 188 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 188 of file CexmcSetup.hh

References Calorimeter, calorimeterVolume, Monitor, monitorVolume, Target, targetVolume, VetoCounter, and vetoCounterVolume.

Referenced by CexmcSteppingAction::CexmcSteppingAction(), CexmcTrackingAction::CexmcTrackingAction(), and CexmcPhysicsList< BasePhysics, StudiedPhysics, ProductionModel >::SetupConstructionHook().

+ Here is the caller graph for this function:

G4bool CexmcSetup::IsRightCalorimeter ( const G4VPhysicalVolume pVolume) const
inline

Definition at line 217 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 217 of file CexmcSetup.hh

References rightCalorimeter.

Referenced by CexmcEnergyDepositInCalorimeter::GetIndex(), and CexmcTrackPointsInCalorimeter::GetIndex().

+ Here is the caller graph for this function:

G4bool CexmcSetup::IsRightDetector ( const G4VPhysicalVolume pVolume) const
inline

Definition at line 207 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 207 of file CexmcSetup.hh

References rightCalorimeter, and rightVetoCounter.

Referenced by CexmcEnergyDepositInLeftRightSet::GetIndex(), and CexmcTrackPointsInLeftRightSet::GetIndex().

+ Here is the caller graph for this function:

void CexmcSetup::ReadCalorimeterGeometryData ( const G4LogicalVolume lVolume)
private

Definition at line 364 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 364 of file CexmcSetup.cc

References calorimeterGeometry, CexmcIncompatibleGeometry, CexmcSetup::CalorimeterGeometryData::crystalHeight, CexmcSetup::CalorimeterGeometryData::crystalLength, CexmcSetup::CalorimeterGeometryData::crystalWidth, G4LogicalVolume::GetDaughter(), G4LogicalVolume::GetNoDaughters(), G4LogicalVolume::GetSolid(), G4Box::GetXHalfLength(), G4Box::GetYHalfLength(), G4Box::GetZHalfLength(), CexmcSetup::CalorimeterGeometryData::nCrystalsInColumn, CexmcSetup::CalorimeterGeometryData::nCrystalsInRow, offset, and width.

Referenced by SetupSpecialVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcSetup::ReadRightDetectors ( void  )
private

Definition at line 441 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 441 of file CexmcSetup.cc

References calorimeterVolume, G4PhysicalVolumeStore::GetInstance(), k, rightCalorimeter, rightVetoCounter, and vetoCounterVolume.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcSetup::ReadTransforms ( const G4GDMLParser gdmlParser)
private

Definition at line 338 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 338 of file CexmcSetup.cc

References calorimeterLeftTransform, calorimeterRightTransform, G4GDMLParser::GetPosition(), G4GDMLParser::GetRotation(), position, RotateMatrix(), G4AffineTransform::SetNetRotation(), G4AffineTransform::SetNetTranslation(), and targetTransform.

Referenced by Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcSetup::RotateMatrix ( const G4ThreeVector pos,
G4RotationMatrix rm 
)
staticprivate

Definition at line 485 of file CexmcSetup.cc.

View newest version in sPHENIX GitHub at line 485 of file CexmcSetup.cc

References CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), CLHEP::HepRotation::rotateZ(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by ReadTransforms().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CexmcSetup::SetupSpecialVolumes ( const G4GDMLParser gdmlParser)
private

Member Data Documentation

CalorimeterGeometryData CexmcSetup::calorimeterGeometry
private

Definition at line 157 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 157 of file CexmcSetup.hh

Referenced by ConvertToCrystalGeometry(), GetCalorimeterGeometry(), and ReadCalorimeterGeometryData().

G4bool CexmcSetup::calorimeterGeometryDataInitialized
private

Definition at line 137 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 137 of file CexmcSetup.hh

Referenced by SetupSpecialVolumes().

G4AffineTransform CexmcSetup::calorimeterLeftTransform
private

Definition at line 153 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 153 of file CexmcSetup.hh

Referenced by GetCalorimeterLeftTransform(), and ReadTransforms().

G4bool CexmcSetup::calorimeterRegionInitialized
private

Definition at line 135 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 135 of file CexmcSetup.hh

Referenced by SetupSpecialVolumes().

G4AffineTransform CexmcSetup::calorimeterRightTransform
private

Definition at line 155 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 155 of file CexmcSetup.hh

Referenced by GetCalorimeterRightTransform(), and ReadTransforms().

G4LogicalVolume* CexmcSetup::calorimeterVolume
private

Definition at line 143 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 143 of file CexmcSetup.hh

Referenced by GetVolume(), ReadRightDetectors(), and SetupSpecialVolumes().

G4String CexmcSetup::gdmlFile
private

Definition at line 131 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 131 of file CexmcSetup.hh

Referenced by Construct().

G4LogicalVolume* CexmcSetup::monitorVolume
private

Definition at line 139 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 139 of file CexmcSetup.hh

Referenced by GetVolume(), and SetupSpecialVolumes().

G4VPhysicalVolume* CexmcSetup::rightCalorimeter
private

Definition at line 149 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 149 of file CexmcSetup.hh

Referenced by IsRightCalorimeter(), IsRightDetector(), and ReadRightDetectors().

G4VPhysicalVolume* CexmcSetup::rightVetoCounter
private

Definition at line 147 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 147 of file CexmcSetup.hh

Referenced by IsRightDetector(), and ReadRightDetectors().

G4AffineTransform CexmcSetup::targetTransform
private

Definition at line 151 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 151 of file CexmcSetup.hh

Referenced by GetTargetTransform(), and ReadTransforms().

G4LogicalVolume* CexmcSetup::targetVolume
private

Definition at line 145 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 145 of file CexmcSetup.hh

Referenced by GetVolume(), and SetupSpecialVolumes().

G4bool CexmcSetup::validateGDMLFile
private

Definition at line 133 of file CexmcSetup.hh.

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

Referenced by Construct().

G4LogicalVolume* CexmcSetup::vetoCounterVolume
private

Definition at line 141 of file CexmcSetup.hh.

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

Referenced by GetVolume(), ReadRightDetectors(), and SetupSpecialVolumes().

G4VPhysicalVolume* CexmcSetup::world
private

Definition at line 129 of file CexmcSetup.hh.

View newest version in sPHENIX GitHub at line 129 of file CexmcSetup.hh

Referenced by Construct().


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