BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucTrigHit Class Reference

#include <MucTrigHit.h>

Public Member Functions

 MucTrigHit ()
 ~MucTrigHit ()
void getMucDigi (MucDigiCol *mucDigiCol)
void getFastOr ()
int getfoBR (int i, int j, int k)
int getfoEC (int i, int j, int k, int l)

Static Public Member Functions

static MucTrigHitget_Muc (void)

Detailed Description

Definition at line 9 of file MucTrigHit.h.

Constructor & Destructor Documentation

◆ MucTrigHit()

MucTrigHit::MucTrigHit ( )

Definition at line 29 of file MucTrigHit.cxx.

29{}

Referenced by get_Muc().

◆ ~MucTrigHit()

MucTrigHit::~MucTrigHit ( )

Definition at line 31 of file MucTrigHit.cxx.

31{}

Member Function Documentation

◆ get_Muc()

MucTrigHit * MucTrigHit::get_Muc ( void )
static

Definition at line 24 of file MucTrigHit.cxx.

24 {
25 if ( !muc_Pointer ) muc_Pointer = new MucTrigHit();
26 return muc_Pointer;
27}

Referenced by BesMucTrig::BesMucTrig(), and BesTrigL1::initialize().

◆ getFastOr()

void MucTrigHit::getFastOr ( )

Definition at line 58 of file MucTrigHit.cxx.

58 {
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}

◆ getfoBR()

int MucTrigHit::getfoBR ( int i,
int j,
int k )
inline

Definition at line 16 of file MucTrigHit.h.

16{ return foBR[i][j][k]; }

◆ getfoEC()

int MucTrigHit::getfoEC ( int i,
int j,
int k,
int l )
inline

Definition at line 17 of file MucTrigHit.h.

17{ return foEC[i][j][k][l]; }

◆ getMucDigi()

void MucTrigHit::getMucDigi ( MucDigiCol * mucDigiCol)

Definition at line 33 of file MucTrigHit.cxx.

33 {
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}
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

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