8#ifndef CSIGEOMETRYPAR_H
9#define CSIGEOMETRYPAR_H
13#include <G4Material.hh>
15#include <CLHEP/Geometry/Transform3D.h>
16#include <CLHEP/Vector/ThreeVector.h>
17#include <Math/Vector3D.h>
20typedef int CsiIdentifier ;
22typedef CLHEP::HepRotation RotationMatrix;
23typedef CLHEP::Hep3Vector ThreeVector;
25typedef HepGeom::Transform3D Transform3D;
28typedef HepGeom::RotateY3D RotateY3D;
29typedef HepGeom::RotateZ3D RotateZ3D;
31typedef HepGeom::Translate3D Translate3D;
68 void Print(
const int cid,
int debuglevel = 80);
The Class for CSI Geometry Parameters.
void PrintAll(int debuglevel=80)
Print all crystals information.
std::vector< ROOT::Math::XYZVector > m_Position
Position of the nominal centre of the crystal.
int GetEnclosureID(int cid)
Get Enclosure ID from cell ID.
ROOT::Math::XYZVector GetOrientation(int cid)
Get the orientation of the crystal.
double GetTauSlow(int cid)
Get crystal slow time constant.
std::vector< ROOT::Math::XYZVector > m_Orientation
Orientation of the crystal.
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.
ROOT::Math::XYZVector 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< 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.
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.
double GetMaterialProperty(int cid, const char *propertyname)
Get material property.
Abstract base class for different kinds of events.