#include <EmcStructure.h>
◆ EmcStructure() [1/2]
EmcStructure::EmcStructure |
( |
| ) |
|
◆ ~EmcStructure() [1/2]
EmcStructure::~EmcStructure |
( |
| ) |
|
◆ EmcStructure() [2/2]
EmcStructure::EmcStructure |
( |
| ) |
|
◆ ~EmcStructure() [2/2]
EmcStructure::~EmcStructure |
( |
| ) |
|
◆ crystalsInRing() [1/2]
unsigned int EmcStructure::crystalsInRing |
( |
unsigned int |
theta | ) |
const |
Definition at line 151 of file EmcStructure.cxx.
152{
153
154
155 unsigned int theXtalInRing;
156
157 if (theta==0 || theta==1 || theta==55 || theta==54)
158 {
160 }
161
162 if (theta==2 || theta==3 || theta==53 || theta==52)
163 {
165 }
166
167 if (theta==4 || theta==5 || theta==51 || theta==50)
168 {
170 }
171
172 if (theta>=6 && theta<=49)
173 {
175 }
176
177
178 if (theta>55)
179 {
180 theXtalInRing= 0;
181 }
182
183 return theXtalInRing;
184}
static unsigned int getPHI_BARREL_MAX()
static unsigned int getPHI_ENDCAP_MAX(const unsigned int theta)
Referenced by EmcSelBhaEvent::initGeom(), and setEmcStruc().
◆ crystalsInRing() [2/2]
unsigned int EmcStructure::crystalsInRing |
( |
unsigned int |
theta | ) |
const |
◆ getGeomIndex() [1/2]
int EmcStructure::getGeomIndex |
( |
unsigned int |
PartId, |
|
|
unsigned int |
ThetaIndex, |
|
|
unsigned int |
PhiIndex |
|
) |
| const |
Definition at line 53 of file EmcStructure.cxx.
56{
57 if (PartId>2){
58 cout<<"PartId is out of EMC"<<endl;
59 return -1;
60 } else {
61 unsigned int newThetaIndex;
62
63 if (PartId==0) newThetaIndex = ThetaIndex;
64 if (PartId==1) newThetaIndex = ThetaIndex + 6;
65 if (PartId==2) newThetaIndex = 55 - ThetaIndex;
66
68 {
69 return -1;
70 } else {
71
72 int index;
73 index =
getIndex(newThetaIndex,PhiIndex);
74
75 return index;
76 }
77 }
78}
long getIndex(unsigned int thetaIndex, unsigned int phiIndex) const
bool isOutofAccep(unsigned int thetaIndex, unsigned int phiIndex) const
Referenced by EmcCalibConstSvc::getIndex(), and BesEmcParameter::GetLightOutput().
◆ getGeomIndex() [2/2]
int EmcStructure::getGeomIndex |
( |
unsigned int |
PartId, |
|
|
unsigned int |
ThetaIndex, |
|
|
unsigned int |
PhiIndex |
|
) |
| const |
◆ getIndex() [1/2]
long EmcStructure::getIndex |
( |
unsigned int |
thetaIndex, |
|
|
unsigned int |
phiIndex |
|
) |
| const |
◆ getIndex() [2/2]
long EmcStructure::getIndex |
( |
unsigned int |
thetaIndex, |
|
|
unsigned int |
phiIndex |
|
) |
| const |
◆ getNumberOfTheRings() [1/2]
unsigned int EmcStructure::getNumberOfTheRings |
( |
| ) |
|
◆ getNumberOfTheRings() [2/2]
unsigned int EmcStructure::getNumberOfTheRings |
( |
| ) |
|
◆ getNumberOfXtals() [1/2]
unsigned int EmcStructure::getNumberOfXtals |
( |
| ) |
|
Definition at line 134 of file EmcStructure.cxx.
135{
136 unsigned int numberOfXtals=0;
137 unsigned int numberOfBarrelXtals, numberOfEndcapXtals;
138
142
144
145 numberOfXtals = numberOfBarrelXtals + numberOfEndcapXtals * 2;
146
147 return numberOfXtals;
148}
Referenced by EmcSelBhaEvent::initGeom().
◆ getNumberOfXtals() [2/2]
unsigned int EmcStructure::getNumberOfXtals |
( |
| ) |
|
◆ getPartId() [1/2]
unsigned int EmcStructure::getPartId |
( |
long |
Index | ) |
const |
|
inline |
◆ getPartId() [2/2]
unsigned int EmcStructure::getPartId |
( |
long |
Index | ) |
const |
|
inline |
◆ getPhi() [1/2]
unsigned int EmcStructure::getPhi |
( |
long |
Index | ) |
const |
|
inline |
◆ getPhi() [2/2]
unsigned int EmcStructure::getPhi |
( |
long |
Index | ) |
const |
|
inline |
◆ getTheta() [1/2]
unsigned int EmcStructure::getTheta |
( |
long |
Index | ) |
const |
|
inline |
◆ getTheta() [2/2]
unsigned int EmcStructure::getTheta |
( |
long |
Index | ) |
const |
|
inline |
◆ getThisThetaMaxIndex() [1/2]
long EmcStructure::getThisThetaMaxIndex |
( |
int |
Theta | ) |
const |
|
inline |
◆ getThisThetaMaxIndex() [2/2]
long EmcStructure::getThisThetaMaxIndex |
( |
int |
Theta | ) |
const |
|
inline |
◆ isOutofAccep() [1/2]
bool EmcStructure::isOutofAccep |
( |
unsigned int |
thetaIndex, |
|
|
unsigned int |
phiIndex |
|
) |
| const |
Definition at line 93 of file EmcStructure.cxx.
95{
96 if ( thetaIndex > 55 )
97 {
98 cout<<"warning " << " theta out of acceptance !"
99 << endl;
100 return true;
101
102 }
103 else
104 {
105 if ( ((thetaIndex==0 || thetaIndex==1 || thetaIndex==55 || thetaIndex==54)
106 && (phiIndex > 63))
107 || ((thetaIndex==2 || thetaIndex==3 || thetaIndex==53 || thetaIndex==52)
108 && (phiIndex > 79))
109 || ((thetaIndex==4 || thetaIndex==5 || thetaIndex==51 || thetaIndex==50)
110 && ( phiIndex > 95))
111 || ((thetaIndex>=6 && thetaIndex<=49) && ( phiIndex > 119)) )
112 {
113 cout<<"warning "<< " phi out of acceptance !" << endl;
114 return true;
115 }
116 else
117 {
118 return false;
119 }
120 }
121}
Referenced by EmcBhabhaEvent::getDepoMCShowerEnergy(), EmcBhabhaEvent::getDepoMCShowerEnergy_lab(), EmcBhabhaEvent::getErrorDepoMCShowerEnergy(), and getGeomIndex().
◆ isOutofAccep() [2/2]
bool EmcStructure::isOutofAccep |
( |
unsigned int |
thetaIndex, |
|
|
unsigned int |
phiIndex |
|
) |
| const |
◆ setEmcStruc() [1/2]
void EmcStructure::setEmcStruc |
( |
| ) |
|
Definition at line 23 of file EmcStructure.cxx.
24{
25 int index;
28
29 for (
int phi=0; phi <
crystalsInRing((
unsigned int) the ); phi++) {
30
31 index =
getIndex( (
unsigned int)the , (
unsigned int)phi);
32
33 m_phiIndex[index]=phi;
34 if (the>=0 && the<=5) {
35 m_partID[index]=0;
36 m_thetaIndex[index]=the;
37 }
38 if (the>=6 && the<=49) {
39 m_partID[index]=1;
40 m_thetaIndex[index]=the-6;
41 }
42 if (the>=50 && the<=55){
43 m_partID[index]=2;
44 m_thetaIndex[index]=55 - the;
45 }
46
47 }
48 m_ThetaMaxIndex[the]=index;
49 }
50
51}
unsigned int getNumberOfTheRings()
unsigned int startingTheta()
unsigned int crystalsInRing(unsigned int theta) const
Referenced by BesEmcParameter::GetLightOutput(), EmcSelBhaEvent::initGeom(), EmcCalibConstSvc::initialize(), and main().
◆ setEmcStruc() [2/2]
void EmcStructure::setEmcStruc |
( |
| ) |
|
◆ startingTheta() [1/2]
unsigned int EmcStructure::startingTheta |
( |
| ) |
|
|
inline |
◆ startingTheta() [2/2]
unsigned int EmcStructure::startingTheta |
( |
| ) |
|
|
inline |
The documentation for this class was generated from the following files: