Reading muon trigger scalers with the DA of the muon trigger and transfer
[u/mrichter/AliRoot.git] / MUON / MUONcalib / AliMUONTriggerScalers.h
1 #ifndef ALIMUONTRIGGERSCALERS_H
2 #define ALIMUONTRIGGERSCALERS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 /// \ingroup calib
9 /// \class AliMUONTriggerScalers
10 /// \brief MUON trigger scalers
11 ///
12 //  Author: Bogdan Vulpescu
13
14 #include <TObject.h>
15
16 class AliMUONTriggerScalers : public TObject {
17
18  public:
19
20    AliMUONTriggerScalers();
21    virtual ~AliMUONTriggerScalers();
22  
23    void SetNCalibEvents(UInt_t nce)               
24    { fNCalibEvents = nce; }
25    void SetDeltaT(UInt_t dt)                      
26    { fDeltaT = dt; }
27    void SetGloScaler(UInt_t gs, Int_t i)          
28    { fGloScal[i] = gs; }
29    void SetLocScalerLpt(UInt_t lst, Int_t i)      
30    { fLocScalLpt[i] = lst; }
31    void SetLocScalerStrip(ULong64_t lss, Int_t ica, Int_t ich, Int_t ilo) 
32    { fLocScalStrip[ica][ich][ilo] = lss; }
33    void SetLocScalerStripOver(ULong64_t lsso, Int_t ica, Int_t ich, Int_t ilo) 
34    { fLocScalStripOver[ica][ich][ilo] = lsso; }
35
36    UInt_t GetNCalibEvents() const { 
37      return fNCalibEvents; }
38    UInt_t GetDeltaT() const { 
39      return fDeltaT; }
40    UInt_t GetGloScal(Int_t i) const { 
41      return (i>=0 && i<=5) ? fGloScal[i] : 0; }
42    UInt_t GetLocScalLpt(Int_t i) const { 
43      return (i>=0 && i<=233) ? fLocScalLpt[i] : 0; }
44    ULong64_t GetLocScalStrip(Int_t iCath, Int_t iCha, Int_t iLoc) const { 
45      return (iCath>=0 && iCath<=1 && iCha>=0 && iCha <=3 && iLoc >= 0 && iLoc <= 233) ? fLocScalStrip[iCath][iCha][iLoc] : 0; }
46    UInt_t GetLocScalStripOver(Int_t iCath, Int_t iCha, Int_t iLoc) const { 
47      return (iCath>=0 && iCath<=1 && iCha>=0 && iCha <=3 && iLoc >= 0 && iLoc <= 233) ? fLocScalStripOver[iCath][iCha][iLoc] : 0; }
48
49  private:
50
51    UInt_t    fNCalibEvents;   
52    UInt_t    fDeltaT;
53    UInt_t    fGloScal[6];
54    UInt_t    fLocScalLpt[234];
55    ULong64_t fLocScalStrip[2][4][234];
56    UInt_t    fLocScalStripOver[2][4][234];
57
58    ClassDef(AliMUONTriggerScalers,1)
59
60 };
61
62 #endif