 |
Belle II Software
release-05-02-19
|
14 #ifndef ECLGEOMETRYPAR_H
15 #define ECLGEOMETRYPAR_H
19 #include <G4ThreeVector.hh>
22 typedef int EclIdentifier;
23 typedef double EclGeV;
25 typedef double EclRad;
31 typedef HepGeom::Transform3D G4Transform3D;
106 return TVector3(t.x(), t.y(), t.z());
114 return TVector3(t.x(), t.y(), t.z());
117 double time2sensor(
int cid,
const G4ThreeVector& hit_pos);
129 G4ThreeVector pos, dir;
162 const std::vector< Identifier >& aNbrs ,
163 const std::vector< Identifier >::size_type aNearSize
173 const std::vector< Identifier >&
nbrs()
const ;
175 const std::vector< Identifier >::const_iterator
nearBegin()
const ;
177 const std::vector< Identifier >::const_iterator
nearEnd()
const ;
179 const std::vector< Identifier >::const_iterator
nextBegin()
const ;
181 const std::vector< Identifier >::const_iterator
nextEnd()
const ;
183 std::vector< Identifier >::size_type
nearSize()
const ;
185 std::vector< Identifier >::size_type
nextSize()
const ;
400 std::less<TEclEnergyHit::Identifier> > EclEnergyHitMap;
EclGeV Energy(EclGeV energy)
set Energy
void printNbr()
print crystals nbrs
void InitCrystal(int cid)
initialise the crystal
TVector3 GetCrystalVec(int cid)
The direction of crystal.
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
std::vector< Identifier >::size_type m_nearSize
size of near brs
G4ThreeVector getCrystalVec(int cid)
The direction of crystal.
Identifier fId
data members
EclNbr & operator=(const EclNbr &aNbr)
assignment operator(s)
int GetCellID(int ThetaId, int PhiId)
Get Cell Id.
EclNbr getNbr(const Identifier aCellId)
get crystals nbr
G4Transform3D * m_ECLBarrelGlobalT
Global transformations for the barrel part.
bool operator>(const TEclEnergyHit &rhs) const
comparison operators
int mNbr_thetaID
The Theta ID information.
G4Transform3D * m_ECLBackwardGlobalT
Global transformations for the backward part.
void read()
Gets geometry parameters from PhysicalVolumeStore.
bool operator==(const TEclEnergyHit &rhs) const
comparison operators
const std::vector< Identifier >::const_iterator nearBegin() const
get crystals nearBegin
int mPar_cellID
The Cell ID information.
int GetThetaID()
Get Cell Id.
TEclEnergyHit & operator=(const TEclEnergyHit &hit)
assignment operator(s)
int TouchableToCellID(const G4VTouchable *)
The same as above but without sanity checks.
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
EclGeV Energy(void) const
get Energy
int mPar_phiID
The Phi ID information.
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
static ECLGeometryPar * Instance()
Static method to get a reference to the ECLGeometryPar instance.
int TouchableDiodeToCellID(const G4VTouchable *)
Mapping from G4VTouchable copyNumbers to Crystal CellID.
int GetCellID()
Get Cell Id.
static ECLGeometryPar * m_B4ECLGeometryParDB
Pointer that saves the instance of this class.
const std::vector< Identifier > & nbrs() const
get crystals nbrs
void Print() const
Print some debug information.
Abstract base class for different kinds of events.
virtual ~ECLGeometryPar()
Destructor.
void Mapping(int cid)
Mapping theta, phi Id.
TEclEnergyHit(const TEclEnergyHit &ahit)
Constructor of TEclEnergyHit.
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
TEclEnergyHit()
Constructors and destructor.
int ECLVolumeToCellID(const G4VTouchable *)
Get Cell Id (LEP: new way)
int mPar_thetaID
The Theta ID information.
void Mapping(int cid)
Mapping theta, phi Id.
std::vector< CrystalGeom_t > m_crystals
the crystals
TEclEnergyHit(const Identifier hid, const EclGeV energy, const Identifier cid)
Constructor of TEclEnergyHit.
int GetPhiID()
Get Theta Id.
Identifier CellId(void) const
get Cell Id
TVector3 GetCrystalPos(int cid)
The Position of crystal.
G4ThreeVector getCrystalPos(int cid)
The Position of crystal.
Identifier Id(void) const
get Id
std::vector< Identifier >::size_type nextSize() const
get crystals nextSize
Identifier Id(Identifier id)
set Id
const std::vector< Identifier >::const_iterator nextBegin() const
get crystals nextBegin
int GetPhiID()
Get Phi Id.
int mNbr_phiID
The Phi ID information.
The Class for ECL Geometry Parameters.
G4Transform3D * m_ECLForwardGlobalT
Global transformations for the forward part.
ECLGeometryPar()
Constructor.
EclIdentifier Identifier
type define Identifier
Identifier CellId(int cId)
set Cell Id
std::vector< Identifier > & m_nbrs
id of m_brs
bool operator!=(const TEclEnergyHit &rhs) const
comparison operators
int mNbr_cellID
Get Phi Id.
int GetThetaID()
Get Theta Id.
virtual ~EclNbr()
destructor
virtual ~TEclEnergyHit()
destructor
CrystalGeom_t m_current_crystal
the current crystal
std::vector< Identifier >::size_type nearSize() const
get crystals nearSize
const std::vector< Identifier >::const_iterator nearEnd() const
get crystals nearEnd
define class TEclEnergyHit
bool operator<(const TEclEnergyHit &rhs) const
comparison operators
EclIdentifier Identifier
constants, enums and typedefs
EclNbr()
Constructors and destructor.
const std::vector< Identifier >::const_iterator nextEnd() const
get crystals nextEnd