Belle II Software  release-05-02-19
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
 

Public Attributes

const int nECLCrystalTot = 8736
 Total number of ECL crystals

 
const int nECLCrystalBAR = 6624
 Number of Barrel ECL crystals

 
const int nECLCrystalECF = 1152
 Number of FWD ECL end-capcrystals.
 
const int nECLCrystalECB = 960
 Number of BWD ECL end-capcrystals.
 

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 31 of file ECLCrystalData.h.

Constructor & Destructor Documentation

◆ ECLCrystalData()

Blank Constructor.

Constructors and destructors.

Definition at line 101 of file ECLCrystalData.cc.

102 {
103  m_cell_ID = -1;
104  m_phi_ID = -1;
105  m_theta_ID = -1;
106  m_phi_idx = -1;
107  m_theta_idx = -1;
108 
109  m_mass = -1;
110  m_volume = -1;
111  m_PosR = -1;
112  m_PosP = -1;
113  m_PosX = -1;
114  m_PosY = -1;
115  m_PosZ = -1;
116 }

Member Function Documentation

◆ Eval()

void Eval ( )

Set values for the crystal.

Evaluate all properties from theta_ID and phi_ID.

Definition at line 144 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 240 of file ECLCrystalData.cc.

Member Data Documentation

◆ BarrelZ

const double 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 109 of file ECLCrystalData.h.

◆ CrystalMassBarrel

const float 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 99 of file ECLCrystalData.h.

◆ CrystalMassEndcap

const float 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 97 of file ECLCrystalData.h.

◆ EndcapRadius

const double 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 106 of file ECLCrystalData.h.

◆ Ring

const int 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 86 of file ECLCrystalData.h.

◆ theta

const double 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 103 of file ECLCrystalData.h.


The documentation for this class was generated from the following files:
Belle2::ECLCrystalData::m_PosY
float m_PosY
Crystal Position - Y.
Definition: ECLCrystalData.h:64
Belle2::ECLCrystalData::m_phi_ID
int m_phi_ID
phi ID of crystal
Definition: ECLCrystalData.h:38
Belle2::ECLCrystalData::m_PosX
float m_PosX
Crystal Position - X.
Definition: ECLCrystalData.h:62
Belle2::ECLCrystalData::m_theta_ID
int m_theta_ID
theta ID of crystal
Definition: ECLCrystalData.h:40
Belle2::ECLCrystalData::m_volume
float m_volume
Crystal Volume.
Definition: ECLCrystalData.h:52
Belle2::ECLCrystalData::m_cell_ID
int m_cell_ID
Cell ID of crystal.
Definition: ECLCrystalData.h:36
Belle2::ECLCrystalData::m_PosP
float m_PosP
Crystal Position - P.
Definition: ECLCrystalData.h:60
Belle2::ECLCrystalData::m_mass
float m_mass
Crystal Mass.
Definition: ECLCrystalData.h:50
Belle2::ECLCrystalData::m_phi_idx
int m_phi_idx
Index.
Definition: ECLCrystalData.h:44
Belle2::ECLCrystalData::m_PosZ
float m_PosZ
Crystal Position - Z.
Definition: ECLCrystalData.h:66
Belle2::ECLCrystalData::m_PosR
float m_PosR
Crystal Position - R.
Definition: ECLCrystalData.h:58
Belle2::ECLCrystalData::m_theta_idx
int m_theta_idx
Index.
Definition: ECLCrystalData.h:46