BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucTrigHit.cxx
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2//// BOOST --- BESIII Object_Oriented Simulation Tool /
3////
4////---------------------------------------------------------------------------/
5////
6////Description:
7////Author: Caogf
8////Created: March, 2007
9////Modified:
10////Comment:
11////
12//
13#include "Trigger/MucTrigHit.h"
14
15#include "Identifier/Identifier.h"
16#include "Identifier/MucID.h"
17#include "RawEvent/DigiEvent.h"
18#include "RawEvent/RawDataUtil.h"
19#include <math.h>
20using namespace std;
21
22MucTrigHit* MucTrigHit::muc_Pointer = 0;
23
25 if ( !muc_Pointer ) muc_Pointer = new MucTrigHit();
26 return muc_Pointer;
27}
28
30
32
34 // reset values
35 for ( int i = 0; i < 8; i++ )
36 for ( int j = 0; j < 4; j++ )
37 for ( int k = 0; k < 112; k++ ) { hitBR[i][j][k] = 0; }
38 for ( int i = 0; i < 2; i++ )
39 for ( int j = 0; j < 4; j++ )
40 for ( int k = 0; k < 4; k++ )
41 for ( int l = 0; l < 64; l++ ) { hitEC[i][j][k][l] = 0; }
42
43 int partId, segId, gapId, stripId;
44 MucDigiCol::iterator iDigiCol;
45 for ( iDigiCol = mucDigiCol->begin(); iDigiCol != mucDigiCol->end(); iDigiCol++ )
46 {
47 const Identifier ident = ( *iDigiCol )->identify();
48 partId = MucID::part( ident );
49 segId = MucID::seg( ident );
50 gapId = MucID::gap( ident );
51 stripId = MucID::strip( ident );
52 if ( partId == 1 && gapId < 4 ) { hitBR[segId][gapId][stripId] = 1; }
53 if ( partId == 0 && gapId < 4 ) hitEC[0][segId][gapId][stripId] = 1; // east endcap
54 if ( partId == 2 && gapId < 4 ) hitEC[1][segId][gapId][stripId] = 1; // west endcap
55 }
56}
57
59 // reset values
60 for ( int i = 0; i < 8; i++ )
61 for ( int j = 0; j < 4; j++ )
62 for ( int k = 0; k < 7; k++ ) { foBR[i][j][k] = 0; }
63 for ( int i = 0; i < 2; i++ )
64 for ( int j = 0; j < 4; j++ )
65 for ( int k = 0; k < 4; k++ )
66 for ( int l = 0; l < 4; l++ ) { foEC[i][j][k][l] = 0; }
67 // get fastOr signal
68 for ( int i = 0; i < 8; i++ )
69 for ( int j = 0; j < 4; j++ )
70 for ( int k = 0; k < 112; k++ )
71 {
72 if ( hitBR[i][j][k] == 1 )
73 {
74 int nbox = (int)k / 16;
75 foBR[i][j][nbox] = 1;
76 }
77 }
78 for ( int i = 0; i < 2; i++ )
79 for ( int j = 0; j < 4; j++ )
80 for ( int k = 0; k < 4; k++ )
81 for ( int l = 0; l < 64; l++ )
82 {
83 if ( hitEC[i][j][k][l] == 1 )
84 {
85 int nbox = (int)l / 16;
86 foEC[i][j][k][nbox] = 1;
87 }
88 }
89}
static int part(const Identifier &id)
Definition MucID.cxx:43
static int gap(const Identifier &id)
Definition MucID.cxx:63
static int seg(const Identifier &id)
Definition MucID.cxx:53
static int strip(const Identifier &id)
Definition MucID.cxx:73
static MucTrigHit * get_Muc(void)
void getMucDigi(MucDigiCol *mucDigiCol)
void getFastOr()