Geant4  10.01.p02
CexmcSetup Class Reference

#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.

Member Enumeration Documentation

Enumerator
Monitor 
VetoCounter 
Calorimeter 
Target 

Definition 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.

Member Function Documentation

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

Definition at line 474 of file CexmcSetup.cc.

References CexmcMultipleDetectorRoles, and CexmcNumberOfDetectorRoles.

Referenced by SetupSpecialVolumes().

+ Here is the caller graph for this function:

G4VPhysicalVolume * CexmcSetup::Construct ( void  )
virtual
const CexmcSetup::CalorimeterGeometryData & CexmcSetup::GetCalorimeterGeometry ( void  ) const
inline

Definition 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.

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.

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.

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.

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.

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.

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 363 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, 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 440 of file CexmcSetup.cc.

References calorimeterVolume, G4PhysicalVolumeStore::GetInstance(), 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 337 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 484 of file CexmcSetup.cc.

Referenced by ReadTransforms().

+ Here is the caller graph for this function:

Member Data Documentation

CalorimeterGeometryData CexmcSetup::calorimeterGeometry
private
G4bool CexmcSetup::calorimeterGeometryDataInitialized
private

Definition at line 137 of file CexmcSetup.hh.

Referenced by SetupSpecialVolumes().

G4AffineTransform CexmcSetup::calorimeterLeftTransform
private

Definition at line 153 of file CexmcSetup.hh.

Referenced by GetCalorimeterLeftTransform(), and ReadTransforms().

G4bool CexmcSetup::calorimeterRegionInitialized
private

Definition at line 135 of file CexmcSetup.hh.

Referenced by SetupSpecialVolumes().

G4AffineTransform CexmcSetup::calorimeterRightTransform
private

Definition at line 155 of file CexmcSetup.hh.

Referenced by GetCalorimeterRightTransform(), and ReadTransforms().

G4LogicalVolume* CexmcSetup::calorimeterVolume
private

Definition 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.

Referenced by Construct().

G4LogicalVolume* CexmcSetup::monitorVolume
private

Definition at line 139 of file CexmcSetup.hh.

Referenced by GetVolume(), and SetupSpecialVolumes().

G4VPhysicalVolume* CexmcSetup::rightCalorimeter
private

Definition 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.

Referenced by IsRightDetector(), and ReadRightDetectors().

G4AffineTransform CexmcSetup::targetTransform
private

Definition at line 151 of file CexmcSetup.hh.

Referenced by GetTargetTransform(), and ReadTransforms().

G4LogicalVolume* CexmcSetup::targetVolume
private

Definition at line 145 of file CexmcSetup.hh.

Referenced by GetVolume(), and SetupSpecialVolumes().

G4bool CexmcSetup::validateGDMLFile
private

Definition at line 133 of file CexmcSetup.hh.

Referenced by Construct().

G4LogicalVolume* CexmcSetup::vetoCounterVolume
private

Definition 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.

Referenced by Construct().


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