| 1 | pam-de | 1.8 | /** | 
| 2 |  |  | * \file TrigLevel2.h | 
| 3 |  |  | * \author Gianfranca DeRosa / Wolfgang Menn | 
| 4 |  |  | */ | 
| 5 |  |  |  | 
| 6 |  |  |  | 
| 7 | mocchiut | 1.1 | #ifndef TrigLevel2_h | 
| 8 | mocchiut | 1.5 | #define TrigLevel2_h | 
| 9 | mocchiut | 1.1 | // | 
| 10 |  |  | #include <TObject.h> | 
| 11 |  |  | #include <TClonesArray.h> | 
| 12 |  |  |  | 
| 13 | pam-fi | 1.4 | #include <TrigStruct.h> | 
| 14 |  |  |  | 
| 15 | pam-de | 1.8 | /** | 
| 16 |  |  | * \brief  Class which contains the Trigger data | 
| 17 |  |  | * | 
| 18 |  |  | */ | 
| 19 |  |  |  | 
| 20 | mocchiut | 1.1 | class TrigLevel2 : public TObject { | 
| 21 |  |  | private: | 
| 22 |  |  |  | 
| 23 |  |  | public: | 
| 24 | pam-de | 1.8 |  | 
| 25 |  |  | UInt_t         evcount; ///<event number starts from 0 at each new run | 
| 26 |  |  | UInt_t         pmtpl[3]; ///<Rate counters top / middle /bottom | 
| 27 |  |  | UInt_t         trigrate[6]; ///<Rate counters of trigger configurations TOF 1/2/.../6 (time base 4 seconds) | 
| 28 |  |  | UInt_t         dltime[2];  ///<livetime  or deadtime live=0.16*dltime[0]; dead=0.01*dltime[1] | 
| 29 |  |  | UInt_t         s4calcount[2]; ///<Rate counters of s4 and calorimeter (time base 4 seconds) | 
| 30 |  |  | UInt_t         pmtcount1[24]; ///<Rate counters of the first 24 pmt's (S111a,...,S118a,S111b,...,S118b etc. look at the QL sequence) | 
| 31 |  |  | UInt_t         pmtcount2[24]; ///<Rate counters of the last 24 pmt's | 
| 32 |  |  | UInt_t         patternbusy[3]; ///<Too complex to describe, basically there are 3 registers which store the status of the busy lines of all the detector in the 3 phases of acq. (after the trigger, when IDAQ set the busy and when iDAQ remove it) | 
| 33 |  |  | UInt_t         patterntrig[6]; ///<What is used in the trigger. One has to do some bit shifting to check the values | 
| 34 |  |  | UInt_t         trigconf; ///<Gives the trigger configuration by bit shifting. For example: "trigconf & (1<<0)" => TOF1 | 
| 35 |  |  | Int_t          unpackError; ///<is a flag set in case of CRC errors during the unpacking of data | 
| 36 | mocchiut | 1.1 | // | 
| 37 |  |  | // here you can define methods to make life simplier during the analysis | 
| 38 |  |  | // | 
| 39 | mocchiut | 1.2 |  | 
| 40 | mocchiut | 1.1 | // | 
| 41 |  |  | // constructor | 
| 42 |  |  | // | 
| 43 |  |  | TrigLevel2(); | 
| 44 |  |  | // | 
| 45 |  |  | // 16 June 06: Included GetTrigLevel2 | 
| 46 |  |  | TrigLevel2*   GetTrigLevel2(){return this;}; | 
| 47 | pam-fi | 1.4 | void SetFromLevel2Struct(cTrigLevel2 *l2); | 
| 48 |  |  | void GetLevel2Struct(cTrigLevel2 *l2) const; | 
| 49 |  |  |  | 
| 50 |  |  |  | 
| 51 | mocchiut | 1.3 | void Clear(); //emiliano | 
| 52 | mocchiut | 1.1 |  | 
| 53 | mocchiut | 1.7 | ClassDef(TrigLevel2,2); | 
| 54 | mocchiut | 1.1 | }; | 
| 55 |  |  |  | 
| 56 |  |  | #endif |