12#include <G4ThreeVector.hh>
13#include <G4VTouchable.hh>
16#include <Math/Vector3D.h>
22typedef int EclIdentifier;
30typedef HepGeom::Transform3D G4Transform3D;
105 return ROOT::Math::XYZVector(t.x(), t.y(), t.z());
113 return ROOT::Math::XYZVector(t.x(), t.y(), t.z());
117 double time2sensor(
int cid,
const G4ThreeVector& hit_pos);
163 const std::vector< Identifier >& aNbrs,
164 const std::vector< Identifier >::size_type aNearSize
174 const std::vector< Identifier >&
nbrs()
const ;
176 const std::vector< Identifier >::const_iterator
nearBegin()
const ;
178 const std::vector< Identifier >::const_iterator
nearEnd()
const ;
180 const std::vector< Identifier >::const_iterator
nextBegin()
const ;
182 const std::vector< Identifier >::const_iterator
nextEnd()
const ;
184 std::vector< Identifier >::size_type
nearSize()
const ;
186 std::vector< Identifier >::size_type
nextSize()
const ;
404 std::less<TEclEnergyHit::Identifier> > EclEnergyHitMap;
The Class for ECL Geometry Parameters.
int mPar_cellID
The Cell ID information.
virtual ~ECLGeometryPar()
Destructor.
G4ThreeVector getCrystalVec(int cid)
The direction of crystal.
static ECLGeometryPar * Instance()
Static method to get a reference to the ECLGeometryPar instance.
CrystalGeom_t m_current_crystal
the current crystal
G4Transform3D * m_ECLBarrelGlobalT
Global transformations for the barrel part.
ECLGeometryPar()
Constructor.
static ECLGeometryPar * m_B4ECLGeometryParDB
Pointer that saves the instance of this class.
int GetPhiID()
Get Phi Id.
int TouchableToCellID(const G4VTouchable *)
The same as above but without sanity checks.
G4ThreeVector getCrystalPos(int cid)
The Position of crystal.
double time2sensor(int cid, const G4ThreeVector &hit_pos)
function to calculate flight time to diode sensor
void InitCrystal(int cid)
initialise the crystal
ROOT::Math::XYZVector GetCrystalPos(int cid)
The Position of crystal.
void read()
Gets geometry parameters from PhysicalVolumeStore.
void Mapping(int cid)
Mapping theta, phi Id.
std::vector< CrystalGeom_t > m_crystals
the crystals
G4Transform3D * m_ECLBackwardGlobalT
Global transformations for the backward part.
int mPar_thetaID
The Theta ID information.
void Print() const
Print some debug information.
int mPar_phiID
The Phi ID information.
ROOT::Math::XYZVector GetCrystalVec(int cid)
The direction of crystal.
G4Transform3D * m_ECLForwardGlobalT
Global transformations for the forward part.
int m_ini_cid
initial crystal ID
int GetThetaID()
Get Theta Id.
int GetCellID()
Get Cell Id.
int TouchableDiodeToCellID(const G4VTouchable *)
Mapping from G4VTouchable copyNumbers to Crystal CellID.
int ECLVolumeToCellID(const G4VTouchable *)
Get Cell Id (LEP: new way)
std::vector< Identifier >::size_type nextSize() const
get crystals nextSize
const std::vector< Identifier >::const_iterator nextEnd() const
get crystals nextEnd
EclNbr getNbr(const Identifier aCellId)
get crystals nbr
int GetPhiID()
Get Phi Id.
EclNbr()
Constructors and destructor.
int mNbr_thetaID
The Theta ID information.
virtual ~EclNbr()
destructor
const std::vector< Identifier > & nbrs() const
get crystals nbrs
int mNbr_cellID
data members
const std::vector< Identifier >::const_iterator nearEnd() const
get crystals nearEnd
int mNbr_phiID
The Phi ID information.
void printNbr()
print crystals nbrs
void Mapping(int cid)
Mapping theta, phi Id.
std::vector< Identifier >::size_type m_nearSize
size of near brs
const std::vector< Identifier >::const_iterator nearBegin() const
get crystals nearBegin
const std::vector< Identifier >::const_iterator nextBegin() const
get crystals nextBegin
EclIdentifier Identifier
constants, enums and typedefs
std::vector< Identifier >::size_type nearSize() const
get crystals nearSize
std::vector< Identifier > & m_nbrs
id of m_brs
int GetThetaID()
Get Theta Id.
EclNbr & operator=(const EclNbr &aNbr)
assignment operator(s)
int GetCellID()
Get Cell Id.
define class TEclEnergyHit
Identifier Id(Identifier id)
set Id
Identifier Id(void) const
get Id
EclGeV Energy(EclGeV energy)
set Energy
TEclEnergyHit(const TEclEnergyHit &ahit)
Constructor of TEclEnergyHit.
virtual ~TEclEnergyHit()
destructor
bool operator!=(const TEclEnergyHit &rhs) const
comparison operators
TEclEnergyHit & operator=(const TEclEnergyHit &hit)
assignment operator(s)
bool operator<(const TEclEnergyHit &rhs) const
comparison operators
Identifier fId
data members
EclGeV Energy(void) const
get Energy
Identifier CellId(int cId)
set Cell Id
TEclEnergyHit()
Constructors and destructor.
Identifier CellId(void) const
get Cell Id
EclIdentifier Identifier
type define Identifier
bool operator>(const TEclEnergyHit &rhs) const
comparison operators
bool operator==(const TEclEnergyHit &rhs) const
comparison operators
TEclEnergyHit(const Identifier hid, const EclGeV energy, const Identifier cid)
Constructor of TEclEnergyHit.
Abstract base class for different kinds of events.
G4ThreeVector pos
position of crystal
G4ThreeVector dir
direction of crystal
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator
bool operator()(const TEclEnergyHit &lhs, const TEclEnergyHit &rhs) const
operator