/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Trigger/Trigger/Trigger-00-01-05/src/MucTrigHit.cxx

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------//
00012 //  
00013 #include "Trigger/MucTrigHit.h"
00014   
00015 #include "Identifier/Identifier.h"
00016 #include "Identifier/MucID.h"
00017 #include "RawEvent/RawDataUtil.h"
00018 #include "RawEvent/DigiEvent.h"
00019 #include <math.h>
00020 using namespace std;
00021 
00022 MucTrigHit* MucTrigHit::muc_Pointer = 0;
00023 
00024 MucTrigHit* MucTrigHit::get_Muc(void) {
00025   if(!muc_Pointer) muc_Pointer = new MucTrigHit();
00026   return muc_Pointer;
00027 }
00028 
00029 MucTrigHit::MucTrigHit()
00030 {
00031 }
00032 
00033 MucTrigHit::~MucTrigHit()
00034 {
00035 }
00036 
00037 void MucTrigHit::getMucDigi(MucDigiCol* mucDigiCol)
00038 {
00039   //reset values
00040   for(int i =0; i<8; i++)
00041     for(int j=0; j<4; j++)
00042       for(int k=0; k<112; k++)
00043       {
00044         hitBR[i][j][k] = 0;
00045       }
00046   for(int i =0; i<2; i++)
00047     for(int j=0; j<4; j++)
00048       for(int k=0; k<4; k++)
00049         for(int l=0; l<64; l++)
00050         {
00051           hitEC[i][j][k][l] = 0;
00052         } 
00053 
00054   int partId, segId, gapId, stripId;
00055   MucDigiCol::iterator iDigiCol;
00056   for(iDigiCol=mucDigiCol->begin(); iDigiCol!=mucDigiCol->end(); iDigiCol++)
00057   {
00058     const Identifier ident = (*iDigiCol)->identify();
00059     partId = MucID::part(ident);
00060     segId = MucID::seg(ident);
00061     gapId = MucID::gap(ident);
00062     stripId = MucID::strip(ident);
00063     if(partId == 1 && gapId < 4) {
00064       hitBR[segId][gapId][stripId] = 1;
00065     }
00066     if(partId == 0 && gapId <4) hitEC[0][segId][gapId][stripId] = 1; //east endcap
00067     if(partId == 2 && gapId <4) hitEC[1][segId][gapId][stripId] = 1; //west endcap
00068   }
00069 }
00070 
00071 void MucTrigHit::getFastOr()
00072 {
00073   //reset values
00074   for(int i =0; i<8; i++)
00075     for(int j=0; j<4; j++)
00076       for(int k=0; k<7; k++)
00077       {
00078         foBR[i][j][k] = 0;
00079       }
00080   for(int i =0; i<2; i++)
00081     for(int j=0; j<4; j++)
00082       for(int k=0; k<4; k++)
00083         for(int l=0; l<4; l++)
00084         {
00085           foEC[i][j][k][l] = 0;
00086         }
00087   //get fastOr signal
00088   for(int i =0; i<8; i++)
00089     for(int j=0; j<4; j++)
00090       for(int k=0; k<112; k++)
00091       {
00092         if(hitBR[i][j][k]==1) {
00093           int nbox = (int) k/16;
00094           foBR[i][j][nbox] = 1;
00095         }
00096       }
00097   for(int i =0; i<2; i++)
00098     for(int j=0; j<4; j++)
00099       for(int k=0; k<4; k++)
00100         for(int l=0; l<64; l++)
00101         {
00102           if(hitEC[i][j][k][l] == 1) {
00103             int nbox = (int) l/16;
00104             foEC[i][j][k][nbox] = 1;
00105           }
00106         } 
00107 }

Generated on Tue Nov 29 23:14:40 2016 for BOSS_7.0.2 by  doxygen 1.4.7