BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TofHitStatus.cxx
Go to the documentation of this file.
1#include "DstEvent/TofHitStatus.h"
2#include "DstEvent/DstTofTrack.h"
3#include <assert.h>
4
6 m_status = 0;
7 m_raw = false;
8 m_readout = false;
9 m_counter = false;
10 m_cluster = false;
11 m_barrel = false;
12 m_east = false;
13 m_layer = 0;
14 m_overflow = false;
15 m_multihit = false;
16 m_ncounter = 0;
17 m_neast = 0;
18 m_nwest = 0;
19 m_mrpc = false;
20}
21
23 m_status = 0;
24 m_raw = false;
25 m_readout = false;
26 m_counter = false;
27 m_cluster = false;
28 m_barrel = false;
29 m_east = false;
30 m_layer = 0;
31 m_overflow = false;
32 m_multihit = false;
33 m_ncounter = 0;
34 m_neast = 0;
35 m_nwest = 0;
36 m_mrpc = false;
37}
38
40 m_status = source.status();
41 m_raw = ( ( m_status & Raw_Mask ) >> Raw_Index ) ? true : false;
42 m_readout = ( ( m_status & Readout_Mask ) >> Readout_Index ) ? true : false;
43 m_counter = ( ( m_status & Counter_Mask ) >> Counter_Index ) ? true : false;
44 m_cluster = ( ( m_status & Cluster_Mask ) >> Cluster_Index ) ? true : false;
45 m_barrel = ( ( m_status & Barrel_Mask ) >> Barrel_Index ) ? true : false;
46 m_east = ( ( m_status & East_Mask ) >> East_Index ) ? true : false;
47 m_layer = ( m_status & Layer_Mask ) >> Layer_Index;
48 m_overflow = ( ( m_status & Overflow_Mask ) >> Overflow_Index ) ? true : false;
49 m_multihit = ( ( m_status & Multihit_Mask ) >> Multihit_Index ) ? true : false;
50 m_ncounter = ( m_status >> Ncounter_Index ) & N_Mask;
51 m_neast = ( m_status >> Neast_Index ) & N_Mask;
52 m_nwest = ( m_status >> Nwest_Index ) & N_Mask;
53 m_mrpc = ( ( m_status & MRPC_Mask ) >> MRPC_Index ) ? true : false;
54
55 return *this;
56}
57
59 m_status = source.m_status;
60 return *this;
61}
62
63bool TofHitStatus::is_raw( unsigned int status ) {
64 return ( ( status & Raw_Mask ) >> Raw_Index ) ? true : false;
65}
66
67bool TofHitStatus::is_readout( unsigned int status ) {
68 return ( ( status & Readout_Mask ) >> Readout_Index ) ? true : false;
69}
70
71bool TofHitStatus::is_counter( unsigned int status ) {
72 return ( ( status & Counter_Mask ) >> Counter_Index ) ? true : false;
73}
74
75bool TofHitStatus::is_cluster( unsigned int status ) {
76 return ( ( status & Cluster_Mask ) >> Cluster_Index ) ? true : false;
77}
78
79bool TofHitStatus::is_barrel( unsigned int status ) {
80 return ( ( status & Barrel_Mask ) >> Barrel_Index ) ? true : false;
81}
82
83bool TofHitStatus::is_east( unsigned int status ) {
84 return ( ( status & East_Mask ) >> East_Index ) ? true : false;
85}
86
87unsigned int TofHitStatus::layer( unsigned int status ) {
88 return ( status & Layer_Mask ) >> Layer_Index;
89}
90
91bool TofHitStatus::is_overflow( unsigned int status ) {
92 return ( ( status & Overflow_Mask ) >> Overflow_Index ) ? true : false;
93}
94
95bool TofHitStatus::is_multihit( unsigned int status ) {
96 return ( ( status & Multihit_Mask ) >> Multihit_Index ) ? true : false;
97}
98
99unsigned int TofHitStatus::ncounter( unsigned int status ) {
100 return ( status >> Ncounter_Index ) & N_Mask;
101}
102
103unsigned int TofHitStatus::neast( unsigned int status ) {
104 return ( status >> Neast_Index ) & N_Mask;
105}
106
107unsigned int TofHitStatus::nwest( unsigned int status ) {
108 return ( status >> Nwest_Index ) & N_Mask;
109}
110
111bool TofHitStatus::is_mrpc( unsigned int status ) {
112 return ( ( status & MRPC_Mask ) >> MRPC_Index ) ? true : false;
113}
114
115void TofHitStatus::setStatus( unsigned int status ) {
116 m_status = status;
117 m_raw = ( ( m_status & Raw_Mask ) >> Raw_Index ) ? true : false;
118 m_readout = ( ( m_status & Readout_Mask ) >> Readout_Index ) ? true : false;
119 m_counter = ( ( m_status & Counter_Mask ) >> Counter_Index ) ? true : false;
120 m_cluster = ( ( m_status & Cluster_Mask ) >> Cluster_Index ) ? true : false;
121 m_barrel = ( ( m_status & Barrel_Mask ) >> Barrel_Index ) ? true : false;
122 m_east = ( ( m_status & East_Mask ) >> East_Index ) ? true : false;
123 m_layer = ( m_status & Layer_Mask ) >> Layer_Index;
124 m_overflow = ( ( m_status & Overflow_Mask ) >> Overflow_Index ) ? true : false;
125 m_multihit = ( ( m_status & Multihit_Mask ) >> Multihit_Index ) ? true : false;
126 m_ncounter = ( m_status >> Ncounter_Index ) & N_Mask;
127 m_neast = ( m_status >> Neast_Index ) & N_Mask;
128 m_nwest = ( m_status >> Nwest_Index ) & N_Mask;
129 m_mrpc = ( ( m_status & MRPC_Mask ) >> MRPC_Index ) ? true : false;
130}
131
132void TofHitStatus::setRaw( bool raw ) {
133 m_raw = raw;
134 if ( raw ) { m_status |= Raw_Mask; }
135 else { m_status &= ( ~Raw_Mask ); }
136}
137
138void TofHitStatus::setReadout( bool readout ) {
139 m_readout = readout;
140 if ( readout ) { m_status |= Readout_Mask; }
141 else { m_status &= ( ~Readout_Mask ); }
142}
143
144void TofHitStatus::setCounter( bool counter ) {
145 m_counter = counter;
146 if ( counter ) { m_status |= Counter_Mask; }
147 else { m_status &= ( ~Counter_Mask ); }
148}
149
150void TofHitStatus::setCluster( bool cluster ) {
151 m_cluster = cluster;
152 if ( cluster ) { m_status |= Cluster_Mask; }
153 else { m_status &= ( ~Cluster_Mask ); }
154}
155
156void TofHitStatus::setBarrel( bool barrel ) {
157 m_barrel = barrel;
158 if ( barrel ) { m_status |= Barrel_Mask; }
159 else { m_status &= ( ~Barrel_Mask ); }
160}
161
162void TofHitStatus::setEast( bool east ) {
163 m_east = east;
164 if ( east ) { m_status |= East_Mask; }
165 else { m_status &= ( ~East_Mask ); }
166}
167
168void TofHitStatus::setLayer( unsigned int layer ) {
169 assert( layer <= 3 );
170 m_layer = layer;
171 m_status |= ( layer << Layer_Index );
172}
173
174void TofHitStatus::setOverflow( bool overflow ) {
175 m_overflow = overflow;
176 if ( overflow ) { m_status |= Overflow_Mask; }
177 else { m_status &= ( ~Overflow_Mask ); }
178}
179
180void TofHitStatus::setMultihit( bool multihit ) {
181 m_multihit = multihit;
182 if ( multihit ) { m_status |= Multihit_Mask; }
183 else { m_status &= ( ~Multihit_Mask ); }
184}
185
187 if ( m_barrel ) assert( ncounter <= 176 );
188 else assert( ncounter <= 96 );
189 m_ncounter = ncounter;
190 m_status |= ( ncounter << Ncounter_Index );
191}
192
193void TofHitStatus::setNEast( unsigned int neast ) {
194 if ( m_barrel ) assert( neast <= 176 );
195 else assert( neast <= 96 );
196 m_neast = neast;
197 m_status |= ( neast << Neast_Index );
198}
199
200void TofHitStatus::setNWest( unsigned int nwest ) {
201 if ( m_barrel ) assert( nwest <= 176 );
202 else assert( nwest <= 96 );
203 m_nwest = nwest;
204 m_status |= ( nwest << Nwest_Index );
205}
206
207void TofHitStatus::setMRPC( bool mrpc ) {
208 m_mrpc = mrpc;
209 if ( mrpc ) { m_status |= MRPC_Mask; }
210 else { m_status &= ( ~MRPC_Mask ); }
211}
212
214 TofHitStatus::setRaw( false );
219
220 if ( layer == 3 )
221 {
224 TofHitStatus::setEast( false );
229 }
230 else if ( layer == 1 || layer == 2 )
231 {
234 TofHitStatus::setEast( false );
239 }
240 else if ( layer == 11 || layer == 12 || layer == 21 || layer == 22 )
241 {
245 if ( layer % 10 == 1 )
246 {
247 TofHitStatus::setEast( true );
250 }
251 else
252 {
253 TofHitStatus::setEast( false );
256 }
257 if ( static_cast<int>( layer / 10 ) == 1 ) { TofHitStatus::setLayer( 1 ); }
258 else { TofHitStatus::setLayer( 2 ); }
259 }
260 else
261 {
262 cout << "TofRec TofHitStatus::setBarrelCounter layer = " << layer << endl;
263 return;
264 }
265 TofHitStatus::setMRPC( false );
266
267 return;
268}
269
271
272 TofHitStatus::setRaw( false );
278
279 if ( layer == 1 || layer == 2 )
280 {
282 TofHitStatus::setEast( false );
287 }
288 if ( layer == 11 || layer == 12 || layer == 21 || layer == 22 )
289 {
292 if ( layer % 10 == 1 )
293 {
294 TofHitStatus::setEast( true );
297 }
298 else
299 {
300 TofHitStatus::setEast( false );
303 }
304 if ( static_cast<int>( layer / 10 ) == 1 ) { TofHitStatus::setLayer( 1 ); }
305 else { TofHitStatus::setLayer( 2 ); }
306 }
307 TofHitStatus::setMRPC( false );
308
309 return;
310}
311
312void TofHitStatus::setBarrelReadout( unsigned int layer, bool east ) {
313 TofHitStatus::setRaw( false );
318 TofHitStatus::setEast( east );
323 if ( east )
324 {
327 }
328 else
329 {
332 }
333 TofHitStatus::setMRPC( false );
334 return;
335}
336
337void TofHitStatus::setBarrelRaw( unsigned int layer, bool east ) {
338 TofHitStatus::setRaw( true );
343 TofHitStatus::setEast( east );
348 if ( east )
349 {
352 }
353 else
354 {
357 }
358 TofHitStatus::setMRPC( false );
359 return;
360}
361
378
395
397 TofHitStatus::setRaw( false );
402 TofHitStatus::setEast( east );
407 if ( east )
408 {
411 }
412 else
413 {
416 }
417 TofHitStatus::setMRPC( true );
418 return;
419}
420
421void TofHitStatus::setMRPCCluster( bool cluster, bool east ) {
422 TofHitStatus::setRaw( false );
423 if ( cluster ) { TofHitStatus::setReadout( false ); }
424 else { TofHitStatus::setReadout( true ); }
428 TofHitStatus::setEast( east );
432 if ( cluster )
433 {
437 }
438 else
439 {
441 if ( east )
442 {
445 }
446 else
447 {
450 }
451 }
452 TofHitStatus::setMRPC( true );
453 return;
454}
455
void setMRPCReadout(bool east)
void setMRPC(bool mrpc)
void setMRPCCluster(bool cluster, bool east)
void setBarrelReadout(unsigned int layer, bool east)
void setStatus(unsigned int status)
void setNWest(unsigned int nwest)
void setLayer(unsigned int layer)
void setCounter(bool counter)
void setMultihit(bool multihit)
void setBarrel(bool barrel)
void setBarrelRaw(unsigned int layer, bool east)
void setCluster(bool cluster)
void setEast(bool east)
void setOverflow(bool overflow)
void setNCounter(unsigned int ncounter)
void setEndcapRaw(bool east)
void setEndcapCluster(bool east)
void setNEast(unsigned int neast)
void setBarrelCounter(unsigned int layer)
TofHitStatus & operator=(const DstTofTrack &source)
void setBarrelCluster(unsigned int layer)
void setReadout(bool readout)
void setRaw(bool raw)