Belle II Software  release-08-01-10
ECLCrystalData Class Reference

Class for obtaining crystal details for a given crystal cell An evolved look-up table. More...

#include <ECLCrystalData.h>

Public Member Functions

 ECLCrystalData ()
 Blank Constructor. More...
 
 ECLCrystalData (int cid)
 CrystalID constructor.
 
 ECLCrystalData (int tid, int pid)
 theta, phi ID constructor
 
 ~ECLCrystalData ()
 destructor
 
void Eval ()
 Set values for the crystal. More...
 
int GetCrystalIndex ()
 return crystal index
 
bool IsEndCap ()
 True if crystal is in endcaps.
 
bool IsBarrel ()
 True if crystal is in barrel.
 
int GetCellID ()
 return cell ID
 
int GetCellID (int tid, int pid)
 return cell ID of crystal with given theta and phi id More...
 
double GetPhi ()
 get phi value of crystal
 
double GetTheta ()
 get theta value of crystal
 
double GetR ()
 get radius of crystal
 
double GetZ ()
 get z position of crystal
 
double GetX ()
 get x position of crystal
 
double GetY ()
 get y position of crystal
 
double GetMass ()
 get mass of crystal
 
int GetThetaID ()
 get thetaID of crystal
 
int GetPhiID ()
 get phiID of crystal
 
int GetNperThetaID ()
 get number of crystals in theta ring
 

Static Public Attributes

static const int Ring [69]
 ECL has 16-fold symmetry in phi. More...
 
static const int sumPrevious [24] = {0, 3, 6, 10, 14, 18, 24, 30, 36, 42, 48, 54, 63, 72, 81, 90, 96, 102, 108, 114, 120, 124, 128, 132}
 Number of crystals in preceding theta rings (endcaps only)
 
static const float CrystalMassEndcap [132]
 Barrel crystal mass. More...
 
static const float CrystalMassBarrel [46]
 Endcap crystal mass. More...
 
static const double theta [69]
 Theta ID to theta(deg) More...
 
static const double EndcapRadius [132]
 EndCapCrystalID to radius (spherical) More...
 
static const double BarrelZ [46] = {210.15, 200.14, 190.44, 181.05, 171.95, 163.03, 154.45, 146.10, 137.98, 129.99, 122.27, 114.72, 107.34, 100.05, 92.96, 86.00, 79.15, 72.36, 65.72, 59.16, 52.69, 46.22, 39.87, 33.56, 27.29, 21.01, 14.81, 8.62, 2.78, -2.78, -14.81, -21.01, -27.29, -33.56, -39.87, -46.22, -52.69, -59.16, -65.72, -72.36, -79.15, -86.00, -92.95, -100.05, -107 - 28}
 BarrelCrystalID to z-coordinate. More...
 

Private Member Functions

float EvalMass ()
 Evaluate mass of crystal.
 
double EvalPhi ()
 Set phi value of crystal.
 
double EvalR ()
 Set R value of crystal.
 
double EvalZ ()
 Set Z value of crystal.
 
double EvalX ()
 Set X value of crystal.
 
double EvalY ()
 Set Y value of crystal.
 
void Mapping (int cid)
 set theta and phi value of crystal
 

Private Attributes

int m_cell_ID
 Cell ID of crystal.
 
int m_phi_ID
 phi ID of crystal
 
int m_theta_ID
 theta ID of crystal
 
int m_phi_idx
 Index.
 
int m_theta_idx
 Index.
 
float m_mass
 Crystal Mass.
 
float m_volume
 Crystal Volume.
 
float m_PosR
 Crystal Position - R.
 
float m_PosP
 Crystal Position - P.
 
float m_PosX
 Crystal Position - X.
 
float m_PosY
 Crystal Position - Y.
 
float m_PosZ
 Crystal Position - Z.
 

Detailed Description

Class for obtaining crystal details for a given crystal cell An evolved look-up table.

Definition at line 24 of file ECLCrystalData.h.

Constructor & Destructor Documentation

◆ ECLCrystalData()

Blank Constructor.

Constructors and destructors.

Definition at line 109 of file ECLCrystalData.cc.

110 {
111  m_cell_ID = -1;
112  m_phi_ID = -1;
113  m_theta_ID = -1;
114  m_phi_idx = -1;
115  m_theta_idx = -1;
116 
117  m_mass = -1;
118  m_volume = -1;
119  m_PosR = -1;
120  m_PosP = -1;
121  m_PosX = -1;
122  m_PosY = -1;
123  m_PosZ = -1;
124 }
float m_PosY
Crystal Position - Y.
float m_mass
Crystal Mass.
float m_PosZ
Crystal Position - Z.
float m_volume
Crystal Volume.
int m_cell_ID
Cell ID of crystal.
float m_PosR
Crystal Position - R.
float m_PosP
Crystal Position - P.
int m_phi_ID
phi ID of crystal
int m_theta_ID
theta ID of crystal
float m_PosX
Crystal Position - X.

Member Function Documentation

◆ Eval()

void Eval ( )

Set values for the crystal.

Evaluate all properties from theta_ID and phi_ID.

Definition at line 152 of file ECLCrystalData.cc.

◆ GetCellID()

int GetCellID ( int  tid,
int  pid 
)

return cell ID of crystal with given theta and phi id

0-12 forward 13-58 barrel 59-68 backward

Definition at line 248 of file ECLCrystalData.cc.

Member Data Documentation

◆ BarrelZ

double const BarrelZ = {210.15, 200.14, 190.44, 181.05, 171.95, 163.03, 154.45, 146.10, 137.98, 129.99, 122.27, 114.72, 107.34, 100.05, 92.96, 86.00, 79.15, 72.36, 65.72, 59.16, 52.69, 46.22, 39.87, 33.56, 27.29, 21.01, 14.81, 8.62, 2.78, -2.78, -14.81, -21.01, -27.29, -33.56, -39.87, -46.22, -52.69, -59.16, -65.72, -72.36, -79.15, -86.00, -92.95, -100.05, -107 - 28}
static

BarrelCrystalID to z-coordinate.

BarrelCrystalID to Z.

Definition at line 96 of file ECLCrystalData.h.

◆ CrystalMassBarrel

float const CrystalMassBarrel
static
Initial value:
= {4.599, 4.619, 4.639, 4.659, 4.680, 4.701, 4.722, 4.744, 4.765,
4.786, 4.807, 4.828, 4.848, 4.868, 4.887, 4.906, 4.923, 4.940,
4.955, 4.969, 4.981, 4.992, 5.001, 5.008, 5.013, 5.016, 5.017,
5.016, 4.455, 4.455, 5.016, 5.017, 5.016, 5.013, 5.008, 5.001,
4.992, 4.981, 4.969, 4.955, 4.940, 4.923, 4.906, 4.887, 4.868,
4.848
}

Endcap crystal mass.

Definition at line 86 of file ECLCrystalData.h.

◆ CrystalMassEndcap

float const CrystalMassEndcap
static
Initial value:
= {4.99, 5.01, 4.99, 5.82, 5.94, 5.83, 4.75, 4.76, 4.77, 4.74, 5.14, 5.16, 5.16,
5.14, 5.76, 5.8, 5.79, 5.78, 4.14, 4.28, 4.15, 4.16, 4.28, 4.14, 4.32, 4.34,
4.34, 4.34, 4.34, 4.32, 4.85, 4.87, 4.87, 4.87, 4.87, 4.85, 4.99, 5.02, 5.02,
5.02, 5.02, 4.99, 5.37, 5.39, 5.39, 5.39, 5.39, 5.37, 5.89, 5.92, 5.92, 5.92,
5.92, 5.9, 4.03, 4.12, 4.05, 4.05, 4.12, 4.05, 4.05, 4.12, 4.03, 4.16, 4.18,
4.18, 4.18, 4.18, 4.18, 4.18, 4.18, 4.16, 4.47, 4.49, 4.49, 4.49, 4.49, 4.49,
4.49, 4.49, 4.47, 4.26, 4.34, 4.28, 4.28, 4.34, 4.28, 4.28, 4.34, 4.26, 5.88,
5.91, 5.91, 5.91, 5.91, 5.88, 5.46, 5.48, 5.48, 5.48, 5.48, 5.46, 5.02, 5.04,
5.04, 5.04, 5.04, 5.02, 4.63, 4.65, 4.65, 4.65, 4.65, 4.63, 4.4, 4.53, 4.42,
4.42, 4.53, 4.4, 5.74, 5.77, 5.76, 5.74, 5.09, 5.11, 5.11, 5.09, 4.56, 4.58,
4.58, 4.56
}

Barrel crystal mass.

Definition at line 84 of file ECLCrystalData.h.

◆ EndcapRadius

double const EndcapRadius
static
Initial value:
= {
217.25, 217.25, 217.25,
218.72, 218.72, 218.72,
220.29, 220.29, 220.29, 220.29,
222.00, 222.00, 222.00, 222.00,
223.96, 223.96, 223.96, 223.96,
226.01, 226.01, 226.01, 226.01, 226.01, 226.01,
228.21, 228.21, 228.21, 228.21, 228.21, 228.21,
230.67, 230.67, 230.67, 230.67, 230.67, 230.67,
233.20, 233.20, 233.20, 233.20, 233.20, 233.20,
235.89, 235.89, 235.89, 235.89, 235.89, 235.89,
238.89, 238.89, 238.89, 238.89, 238.89, 238.89,
241.94, 241.94, 241.94, 241.94, 241.94, 241.94, 241.94, 241.94, 241.94,
245.16, 245.16, 245.16, 245.16, 245.16, 245.16, 245.16, 245.16, 245.16,
172.06, 172.06, 172.06, 172.06, 172.06, 172.06, 172.06, 172.06, 172.06,
165.69, 165.69, 165.69, 165.69, 165.69, 165.69, 165.69, 165.69, 165.69,
159.78, 159.78, 159.78, 159.78, 159.78, 159.78,
154.36, 154.36, 154.36, 154.36, 154.36, 154.36,
149.37, 149.37, 149.37, 149.37, 149.37, 149.37,
144.82, 144.82, 144.82, 144.82, 144.82, 144.82,
140.67, 140.67, 140.67, 140.67, 140.67, 140.67,
136.89, 136.89, 136.89, 136.89,
133.49, 133.49, 133.49, 133.49,
133.49, 133.49, 133.49, 133.49
}

EndCapCrystalID to radius (spherical)

Definition at line 93 of file ECLCrystalData.h.

◆ Ring

int const Ring
static
Initial value:
= {
3, 3, 4, 4, 4, 6, 6, 6, 6, 6, 6, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9,
9, 9, 6, 6, 6, 6, 6, 4, 4, 4
}

ECL has 16-fold symmetry in phi.

Multiply this by 16 to get the total number of crystals at each theta location.

Definition at line 79 of file ECLCrystalData.h.

◆ theta

double const theta
static
Initial value:
= {13.9486666667, 15.4862, 17.110575, 18.757625, 20.255425, 21.8637333333,
23.4259666667, 24.96125, 26.4777833333, 27.9407, 29.36275, 30.8382555556,
32.2618444444, 33.667039, 35.062886, 36.509337, 38.007345, 39.557769,
41.161373, 42.818633, 44.530027, 46.295838, 48.115876, 49.990235, 51.91882,
53.900865, 55.935415, 58.021324, 60.157158, 62.3412, 64.571442, 66.8455,
69.160698, 71.513983, 73.902011, 76.321253, 78.767888, 81.237718, 83.726351,
86.229301, 88.741891, 90, 90, 91.258109, 93.770699, 96.273649, 98.762282,
101.232112, 103.678747, 106.097989, 108.486017, 110.839302, 113.154501,
115.428558, 117.658801, 119.842842, 121.978676, 124.064585, 126.099135,
128.2902222222, 130.4424444444, 132.6918333333, 134.9551666667, 137.3811666667,
139.9081666667, 142.5951666667, 145.374, 148.0185, 150.8355
}

Theta ID to theta(deg)

Definition at line 90 of file ECLCrystalData.h.


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