TrigEACC Class Reference

#include <TrigEACC.h>

List of all members.

Public Member Functions

 TrigEACC (const char *name)
virtual ~TrigEACC ()
void setEACCTrigData (uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t *data)
void initialize ()
const std::stringgetName () const
unsigned int getTimeWindow () const
unsigned int getBBLKCharge (int id) const
unsigned int getBBLKTime (int id) const
unsigned int getEBLKCharge (int id) const
unsigned int getEBLKTime (int id) const
unsigned int getWBLKCharge (int id) const
unsigned int getWBLKTime (int id) const
unsigned int getBarrelCharge () const
unsigned int getBarrelTime () const
unsigned int getEndCapsCharge () const
unsigned int getEndCapsTime () const
unsigned int getEMCTotalCharge () const
unsigned int getEMCTotalTime () const
unsigned int getEastHalfCharge () const
unsigned int getEastHalfTime () const
unsigned int getWestHalfCharge () const
unsigned int getWestHalfTime () const
unsigned int getEastEndHalfCharge () const
unsigned int getEastEndHalfTime () const
unsigned int getWestEndHalfCharge () const
unsigned int getWestEndHalfTime () const
unsigned int getBTC (int theta, int phi, int winId) const
unsigned int getETC (int phi, int winId) const
unsigned int getWTC (int phi, int winId) const
unsigned int getMidCondi (int bit) const
unsigned int getTrigCondi (int bit, int winId) const
void print ()

Private Attributes

std::string m_name
unsigned int m_window
unsigned int E_blk [12]
unsigned int T_blk [12]
unsigned int E_blkE [2]
unsigned int T_blkE [2]
unsigned int E_blkW [2]
unsigned int T_blkW [2]
unsigned int E_B_Etot
unsigned int T_B_Etot
unsigned int E_E_Etot
unsigned int T_E_Etot
unsigned int E_blkAll
unsigned int T_blkAll
unsigned int E_eastHalf
unsigned int T_eastHalf
unsigned int E_westHalf
unsigned int T_westHalf
unsigned int E_eastEndHalf
unsigned int T_eastEndHalf
unsigned int E_westEndHalf
unsigned int T_westEndHalf
unsigned int TC [11][30][32]
unsigned int TC_E [32][32]
unsigned int TC_W [32][32]
unsigned int midCondi [16]
unsigned int emcTrigCondi [16][32]


Detailed Description

Definition at line 9 of file TrigEACC.h.


Constructor & Destructor Documentation

TrigEACC::TrigEACC ( const char *  name  ) 

Definition at line 6 of file TrigEACC.cxx.

References m_name.

00007 {
00008   m_name = name;
00009 }

TrigEACC::~TrigEACC (  )  [virtual]

Definition at line 11 of file TrigEACC.cxx.

00011                     {
00012 }


Member Function Documentation

unsigned int TrigEACC::getBarrelCharge (  )  const [inline]

Definition at line 27 of file TrigEACC.h.

References E_B_Etot.

00027 { return E_B_Etot;    }

unsigned int TrigEACC::getBarrelTime (  )  const [inline]

Definition at line 28 of file TrigEACC.h.

References T_B_Etot.

00028 { return T_B_Etot;    }

unsigned int TrigEACC::getBBLKCharge ( int  id  )  const [inline]

Definition at line 21 of file TrigEACC.h.

References E_blk.

00021 { return E_blk[id];   }

unsigned int TrigEACC::getBBLKTime ( int  id  )  const [inline]

Definition at line 22 of file TrigEACC.h.

References T_blk.

00022 { return T_blk[id];   }

unsigned int TrigEACC::getBTC ( int  theta,
int  phi,
int  winId 
) const [inline]

Definition at line 42 of file TrigEACC.h.

References TC.

00042 { return TC[theta][phi][winId]; }

unsigned int TrigEACC::getEastEndHalfCharge (  )  const [inline]

Definition at line 37 of file TrigEACC.h.

References E_eastEndHalf.

00037 { return E_eastEndHalf; }

unsigned int TrigEACC::getEastEndHalfTime (  )  const [inline]

Definition at line 38 of file TrigEACC.h.

References T_eastEndHalf.

00038 { return T_eastEndHalf; }

unsigned int TrigEACC::getEastHalfCharge (  )  const [inline]

Definition at line 33 of file TrigEACC.h.

References E_eastHalf.

00033 { return E_eastHalf;  }

unsigned int TrigEACC::getEastHalfTime (  )  const [inline]

Definition at line 34 of file TrigEACC.h.

References T_eastHalf.

00034 { return T_eastHalf;  }

unsigned int TrigEACC::getEBLKCharge ( int  id  )  const [inline]

Definition at line 23 of file TrigEACC.h.

References E_blkE.

00023 { return E_blkE[id];  }

unsigned int TrigEACC::getEBLKTime ( int  id  )  const [inline]

Definition at line 24 of file TrigEACC.h.

References T_blkE.

00024 { return T_blkE[id];  }

unsigned int TrigEACC::getEMCTotalCharge (  )  const [inline]

Definition at line 31 of file TrigEACC.h.

References E_blkAll.

00031 { return E_blkAll;    }

unsigned int TrigEACC::getEMCTotalTime (  )  const [inline]

Definition at line 32 of file TrigEACC.h.

References T_blkAll.

00032 { return T_blkAll;    }

unsigned int TrigEACC::getEndCapsCharge (  )  const [inline]

Definition at line 29 of file TrigEACC.h.

References E_E_Etot.

00029 { return E_E_Etot;    }

unsigned int TrigEACC::getEndCapsTime (  )  const [inline]

Definition at line 30 of file TrigEACC.h.

References T_E_Etot.

00030 { return T_E_Etot;    }

unsigned int TrigEACC::getETC ( int  phi,
int  winId 
) const [inline]

Definition at line 43 of file TrigEACC.h.

References TC_E.

00043 { return TC_E[phi][winId];      }

unsigned int TrigEACC::getMidCondi ( int  bit  )  const [inline]

Definition at line 46 of file TrigEACC.h.

References midCondi.

00046 { return midCondi[bit];            }

const std::string& TrigEACC::getName (  )  const [inline]

Definition at line 18 of file TrigEACC.h.

References m_name.

00018 { return m_name; }

unsigned int TrigEACC::getTimeWindow (  )  const [inline]

Definition at line 19 of file TrigEACC.h.

References m_window.

00019 { return m_window; }

unsigned int TrigEACC::getTrigCondi ( int  bit,
int  winId 
) const [inline]

Definition at line 47 of file TrigEACC.h.

References emcTrigCondi.

00047 { return emcTrigCondi[bit][winId]; } 

unsigned int TrigEACC::getWBLKCharge ( int  id  )  const [inline]

Definition at line 25 of file TrigEACC.h.

References E_blkW.

00025 { return E_blkW[id];  }

unsigned int TrigEACC::getWBLKTime ( int  id  )  const [inline]

Definition at line 26 of file TrigEACC.h.

References T_blkW.

00026 { return T_blkW[id];  }

unsigned int TrigEACC::getWestEndHalfCharge (  )  const [inline]

Definition at line 39 of file TrigEACC.h.

References E_westEndHalf.

00039 { return E_westEndHalf; }

unsigned int TrigEACC::getWestEndHalfTime (  )  const [inline]

Definition at line 40 of file TrigEACC.h.

References T_westEndHalf.

00040 { return T_westEndHalf; }

unsigned int TrigEACC::getWestHalfCharge (  )  const [inline]

Definition at line 35 of file TrigEACC.h.

References E_westHalf.

00035 { return E_westHalf;  }

unsigned int TrigEACC::getWestHalfTime (  )  const [inline]

Definition at line 36 of file TrigEACC.h.

References T_westHalf.

00036 { return T_westHalf;  }

unsigned int TrigEACC::getWTC ( int  phi,
int  winId 
) const [inline]

Definition at line 44 of file TrigEACC.h.

References TC_W.

00044 { return TC_W[phi][winId];      }

void TrigEACC::initialize (  ) 

Definition at line 14 of file TrigEACC.cxx.

References E_B_Etot, E_blk, E_blkAll, E_blkE, E_blkW, E_E_Etot, E_eastEndHalf, E_eastHalf, E_westEndHalf, E_westHalf, emcTrigCondi, genRecEmupikp::i, ganga-rec::j, midCondi, T_B_Etot, T_blk, T_blkAll, T_blkE, T_blkW, T_E_Etot, T_eastEndHalf, T_eastHalf, T_westEndHalf, T_westHalf, TC, TC_E, and TC_W.

00014                          {
00015   //initialize
00016   for(uint32_t i = 0; i < 11; i++) 
00017     for(uint32_t j = 0; j < 32; j++) 
00018       for(uint32_t k = 0; k < 32; k++) {
00019         if(j < 30) TC[i][j][k] = 0;
00020         if(i == 0) { TC_E[j][k] = 0; TC_W[j][k] = 0; }
00021         if(i == 0 && j < 16) { midCondi[j] = 0; emcTrigCondi[j][k] = 0; }
00022         if(i == 0 && j < 12) { E_blk[j] = 0; T_blk[j] = 0; }
00023         if(i == 0 && j < 2)  { E_blkE[j] = 0; T_blkE[j] = 0; E_blkW[j] = 0; T_blkW[j] = 0; }
00024   }
00025   E_B_Etot = 0;
00026   T_B_Etot = 0;
00027   E_E_Etot = 0;
00028   T_E_Etot = 0;
00029   E_blkAll = 0;
00030   T_blkAll = 0;
00031   E_eastHalf = 0;
00032   T_eastHalf = 0;
00033   E_westHalf = 0;
00034   T_westHalf = 0;
00035   E_eastEndHalf = 0;
00036   T_eastEndHalf = 0;
00037   E_westEndHalf = 0;
00038   T_westEndHalf = 0;
00039 }

void TrigEACC::print (  ) 

Definition at line 118 of file TrigEACC.cxx.

00118                      {
00119 }

void TrigEACC::setEACCTrigData ( uint32_t  boardId,
uint32_t  window,
uint32_t  datasize,
const uint32_t *  data 
)

Definition at line 41 of file TrigEACC.cxx.

References E_B_Etot, E_blk, E_blkAll, E_blkE, E_blkW, E_E_Etot, E_eastEndHalf, E_eastHalf, E_westEndHalf, E_westHalf, emcTrigCondi, genRecEmupikp::i, ganga-rec::j, m_window, midCondi, T_B_Etot, T_blk, T_blkAll, T_blkE, T_blkW, T_E_Etot, T_eastEndHalf, T_eastHalf, T_westEndHalf, T_westHalf, TC, TC_E, and TC_W.

00041                                                                                                           {
00042   if(boardId != 0xd7) std::cerr << "ERROR: You set the wrong board data to TrigEACC!!!" << std::endl;
00043 
00044   m_window = window;
00045 
00046   uint32_t charge_mask = 0xFFFF;
00047   uint32_t time_mask   = 0xFF0000;
00048   for(uint32_t i = 0; i < datasize; i++) {
00049     if(i < 12) { 
00050       E_blk[i] = ((data[i]) & charge_mask);
00051       T_blk[i] = ((data[i]) & time_mask) >> 16;
00052     }
00053     if(i >= 12 && i < 14) { 
00054       E_blkE[i-12] = ((data[i]) & charge_mask);
00055       T_blkE[i-12] = ((data[i]) & time_mask) >> 16;
00056     }
00057     if(i >= 14 && i < 16) {
00058       E_blkW[i-14] = ((data[i]) & charge_mask);
00059       T_blkW[i-14] = ((data[i]) & time_mask) >> 16;
00060     }
00061     if(i >= 16 && i < 23) {
00062       if(i == 16) { E_B_Etot = ((data[i]) & charge_mask); T_B_Etot = ((data[i]) & time_mask) >> 16; }
00063       if(i == 17) { E_E_Etot = ((data[i]) & charge_mask); T_E_Etot = ((data[i]) & time_mask) >> 16; }
00064       if(i == 18) { E_blkAll = ((data[i]) & charge_mask); T_blkAll = ((data[i]) & time_mask) >> 16; }
00065       if(i == 19) { E_eastHalf = ((data[i]) & charge_mask); T_eastHalf = ((data[i]) & time_mask) >> 16; }
00066       if(i == 20) { E_westHalf = ((data[i]) & charge_mask); T_westHalf = ((data[i]) & time_mask) >> 16; }
00067       if(i == 21) { E_eastEndHalf = ((data[i]) & charge_mask); T_eastEndHalf = ((data[i]) & time_mask) >> 16; }
00068       if(i == 22) { E_westEndHalf = ((data[i]) & charge_mask); T_westEndHalf = ((data[i]) & time_mask) >> 16; }
00069     }
00070     if(i == 23) {
00071       for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00072         if(data[i] & mask) midCondi[j] = 1;
00073       }
00074     }
00075     if(i >= 24 && i < 24 + 20*window) {
00076       uint32_t winId = uint32_t ((i-24)/20);
00077       uint32_t id = i - (24+winId*20);
00078       if(i >= (24+winId*20) && i < (39+winId*20)) {
00079         for(uint32_t j = 0, mask = 1; j < 24; j++, mask <<= 1) {
00080           if(j < 11) { 
00081             if(data[i] & mask) TC[j][2*id+1][winId] = 1;
00082           }
00083           if(j >= 12 && j < 23) {
00084             if(data[i] & mask) TC[j-12][2*id][winId] = 1;
00085           }
00086         }
00087       }
00088       if(i == (39+winId*20)) {
00089         for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00090           if(data[i] & mask) TC_E[j][winId] = 1;
00091         }
00092       }
00093       if(i == (40+winId*20)) {
00094         for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00095           if(data[i] & mask) TC_E[j+16][winId] = 1;
00096         }
00097       }
00098       if(i == (41+winId*20)) {
00099         for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00100           if(data[i] & mask) TC_W[j][winId] = 1;
00101         }
00102       }
00103       if(i == (42+winId*20)) {
00104         for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00105           if(data[i] & mask) TC_W[j+16][winId] = 1;
00106         }
00107       }
00108       if(i == (43+winId*20)) {
00109         for(uint32_t j = 0, mask = 1; j < 16; j++, mask <<= 1) {
00110           if(data[i] & mask) emcTrigCondi[j][winId] = 1;
00111         }
00112       }
00113     }
00114   }
00115   if(24 + 20*window != datasize) std::cerr << "ERROR: The data in EACC are not complete" << std::endl;
00116 }


Member Data Documentation

unsigned int TrigEACC::E_B_Etot [private]

Definition at line 62 of file TrigEACC.h.

Referenced by getBarrelCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_blk[12] [private]

Definition at line 56 of file TrigEACC.h.

Referenced by getBBLKCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_blkAll [private]

Definition at line 66 of file TrigEACC.h.

Referenced by getEMCTotalCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_blkE[2] [private]

Definition at line 58 of file TrigEACC.h.

Referenced by getEBLKCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_blkW[2] [private]

Definition at line 60 of file TrigEACC.h.

Referenced by getWBLKCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_E_Etot [private]

Definition at line 64 of file TrigEACC.h.

Referenced by getEndCapsCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_eastEndHalf [private]

Definition at line 72 of file TrigEACC.h.

Referenced by getEastEndHalfCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_eastHalf [private]

Definition at line 68 of file TrigEACC.h.

Referenced by getEastHalfCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_westEndHalf [private]

Definition at line 74 of file TrigEACC.h.

Referenced by getWestEndHalfCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::E_westHalf [private]

Definition at line 70 of file TrigEACC.h.

Referenced by getWestHalfCharge(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::emcTrigCondi[16][32] [private]

Definition at line 82 of file TrigEACC.h.

Referenced by getTrigCondi(), initialize(), and setEACCTrigData().

std::string TrigEACC::m_name [private]

Definition at line 52 of file TrigEACC.h.

Referenced by getName(), and TrigEACC().

unsigned int TrigEACC::m_window [private]

Definition at line 54 of file TrigEACC.h.

Referenced by getTimeWindow(), and setEACCTrigData().

unsigned int TrigEACC::midCondi[16] [private]

Definition at line 81 of file TrigEACC.h.

Referenced by getMidCondi(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_B_Etot [private]

Definition at line 63 of file TrigEACC.h.

Referenced by getBarrelTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_blk[12] [private]

Definition at line 57 of file TrigEACC.h.

Referenced by getBBLKTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_blkAll [private]

Definition at line 67 of file TrigEACC.h.

Referenced by getEMCTotalTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_blkE[2] [private]

Definition at line 59 of file TrigEACC.h.

Referenced by getEBLKTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_blkW[2] [private]

Definition at line 61 of file TrigEACC.h.

Referenced by getWBLKTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_E_Etot [private]

Definition at line 65 of file TrigEACC.h.

Referenced by getEndCapsTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_eastEndHalf [private]

Definition at line 73 of file TrigEACC.h.

Referenced by getEastEndHalfTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_eastHalf [private]

Definition at line 69 of file TrigEACC.h.

Referenced by getEastHalfTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_westEndHalf [private]

Definition at line 75 of file TrigEACC.h.

Referenced by getWestEndHalfTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::T_westHalf [private]

Definition at line 71 of file TrigEACC.h.

Referenced by getWestHalfTime(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::TC[11][30][32] [private]

Definition at line 77 of file TrigEACC.h.

Referenced by getBTC(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::TC_E[32][32] [private]

Definition at line 78 of file TrigEACC.h.

Referenced by getETC(), initialize(), and setEACCTrigData().

unsigned int TrigEACC::TC_W[32][32] [private]

Definition at line 79 of file TrigEACC.h.

Referenced by getWTC(), initialize(), and setEACCTrigData().


Generated on Tue Nov 29 23:36:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7