]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONPayloadTrigger.h
track splitting studies with injected particles in MC
[u/mrichter/AliRoot.git] / MUON / AliMUONPayloadTrigger.h
1 #ifndef ALIMUONPAYLOADTRIGGER_H
2 #define ALIMUONPAYLOADTRIGGER_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 raw
9 /// \class AliMUONPayloadTrigger
10 /// \brief Class for decoding the payload for trigger raw data 
11 ///
12 //  Author Christian Finck
13
14 #include <TObject.h>
15
16 class AliMUONDDLTrigger;
17 class AliMUONLocalStruct;
18 class AliMUONRegHeader;
19 class AliMUONLogger;
20 class AliMUONLogger;
21
22 class AliMUONPayloadTrigger: public TObject {
23   public :
24     AliMUONPayloadTrigger();
25     virtual ~AliMUONPayloadTrigger();
26
27     Bool_t Decode(UInt_t *buffer, Bool_t scalerEvent = kFALSE);
28     void   ResetDDL();
29
30     /// Return maximum number of regional cards in DATE file
31     Int_t GetMaxReg() const {return fMaxReg;}
32     /// Return maximum number of local cards in DATE file
33     Int_t GetMaxLoc() const {return fMaxLoc;}
34
35
36     void SetMaxLoc(Int_t loc);
37
38     /// Return pointer to local structure
39     AliMUONLocalStruct*     GetLocalInfo()  const {return fLocalStruct;}
40     /// Return pointer for regional structure
41     AliMUONRegHeader*       GetRegHeader()  const {return fRegHeader;}
42     /// Return pointer for DDL structure
43     AliMUONDDLTrigger*      GetDDLTrigger() const {return fDDLTrigger;}
44
45     /// Get number of end of DARC word errors
46     Int_t   GetDarcEoWErrors() const {return fDarcEoWErrors;}
47     /// Get number of end of Global word errors
48     Int_t   GetGlobalEoWErrors() const {return fGlobalEoWErrors;}
49     /// Get number of end of regional word errors
50     Int_t   GetRegEoWErrors() const {return fRegEoWErrors;}
51     /// Get number of end of local word errors
52     Int_t   GetLocalEoWErrors() const {return fLocalEoWErrors;}
53
54    /// Get Error logger
55     AliMUONLogger* GetErrorLogger() const {return fLog;}
56     
57     /// set warnings flag
58     void DisableWarnings() {fWarnings = kFALSE;} 
59     
60   private :
61     /// Not implemented
62     AliMUONPayloadTrigger(const AliMUONPayloadTrigger& stream);
63     /// Not implemented
64     AliMUONPayloadTrigger& operator = (const AliMUONPayloadTrigger& stream);
65
66     void   AddErrorMessage(const Char_t* msg);
67     void   SetMaxReg(Int_t reg);
68
69     Int_t fMaxReg;        ///< maximum number of regional cards in DATE file
70     Int_t fMaxLoc;        ///< maximum number of local cards in DATE file
71
72     AliMUONDDLTrigger*       fDDLTrigger;   //!< pointer for DDL structure
73     AliMUONRegHeader*        fRegHeader;    //!< pointer for regional structure
74     AliMUONLocalStruct*      fLocalStruct;  //!< pointer to local structure
75
76     AliMUONLogger* fLog;                    //!< Map of errors msg;
77     Int_t   fDarcEoWErrors;                 //!< number of end of DARC word errors;
78     Int_t   fGlobalEoWErrors;               //!< number of end of global word errors;
79     Int_t   fRegEoWErrors;                  //!< number of end of regional word errors;
80     Int_t   fLocalEoWErrors;                //!< number of end of local word errors;
81     Bool_t  fWarnings;                      //!< flag to enable/disable warnings
82     Bool_t  fNofRegSet;                     //!< true if number of regional boards is set from outside
83
84     ClassDef(AliMUONPayloadTrigger, 3)    // base class for reading MUON trigger rawdata
85 };
86
87 #endif