8 #ifndef CSIGEOMETRYPAR_H
9 #define CSIGEOMETRYPAR_H
12 #include <G4String.hh>
13 #include <G4Material.hh>
15 #include <CLHEP/Geometry/Transform3D.h>
16 #include <CLHEP/Vector/ThreeVector.h>
20 typedef int CsiIdentifier ;
22 typedef CLHEP::HepRotation RotationMatrix;
23 typedef CLHEP::Hep3Vector ThreeVector;
25 typedef HepGeom::Transform3D Transform3D;
28 typedef HepGeom::RotateY3D RotateY3D;
29 typedef HepGeom::RotateZ3D RotateZ3D;
31 typedef HepGeom::Translate3D Translate3D;
68 void Print(
const int cid,
int debuglevel = 80);
98 TVector3 pos(_hepTV.x(), _hepTV.y(), _hepTV.z());
The Class for CSI Geometry Parameters.
void PrintAll(int debuglevel=80)
Print all crystals information.
int GetEnclosureID(int cid)
Get Enclosure ID from cell ID.
double GetTauSlow(int cid)
Get crystal slow time constant.
std::vector< TVector3 > m_OrientationTV3
Orientation of the crystal (as ROOT TVector3)
CsiGeometryPar()
Constructor.
std::vector< int > m_thetaID
The Theta ID information.
void Print(const int cid, int debuglevel=80)
Print crystal information.
int m_cellID
The Cell ID information.
double GetTauFast(int cid)
Get crystal fast time constant.
std::vector< ThreeVector > m_Position
Position of the nominal centre of the crystal (as a HEP ThreeVector)
TVector3 GetOrientationTV3(int cid)
Get the orientation of the crystal in a root TVector3.
TVector3 ConvertToTVector3(ThreeVector _hepTV)
Converts to a ROOT TVector3.
ThreeVector GetPosition(int cid)
Get the position of the crystal.
std::vector< int > m_phiID
The Phi ID information.
void read()
Gets geometry parameters from gearbox.
virtual ~CsiGeometryPar()
Destructor.
std::vector< ThreeVector > m_Orientation
Orientation of the crystal (as a HEP ThreeVector)
std::vector< int > m_BoxID
The index of the enclosure.
G4Material * GetMaterial(int cid)
Get pointer to the Geant4 Material.
static CsiGeometryPar * Instance()
Static method to get a reference to the CsiGeometryPar instance.
int CsiVolNameToCellID(const G4String VolumeName)
Get Cell Id.
std::vector< int > m_SlotID
The slot index of the crystal in the enclosure.
TVector3 GetPositionTV3(int cid)
Get the position of the crystal in a root TVector3.
int GetSlotID(int cid)
Get Slot ID in the Enclosure from cell ID.
static CsiGeometryPar * m_B4CsiGeometryParDB
Pointer that saves the instance of this class.
std::vector< TVector3 > m_PositionTV3
Position of the nominal centre of the crystal (as a ROOT TVector3)
ThreeVector GetOrientation(int cid)
Get the position of the crystal.
double GetMaterialProperty(int cid, const char *propertyname)
Get material property.
Abstract base class for different kinds of events.