Line data Source code
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 0 : Int_t GetMaxReg() const {return fMaxReg;}
32 : /// Return maximum number of local cards in DATE file
33 0 : Int_t GetMaxLoc() const {return fMaxLoc;}
34 :
35 :
36 : void SetMaxLoc(Int_t loc);
37 :
38 : /// Return pointer to local structure
39 0 : AliMUONLocalStruct* GetLocalInfo() const {return fLocalStruct;}
40 : /// Return pointer for regional structure
41 0 : AliMUONRegHeader* GetRegHeader() const {return fRegHeader;}
42 : /// Return pointer for DDL structure
43 0 : AliMUONDDLTrigger* GetDDLTrigger() const {return fDDLTrigger;}
44 :
45 : /// Get number of end of DARC word errors
46 0 : Int_t GetDarcEoWErrors() const {return fDarcEoWErrors;}
47 : /// Get number of end of Global word errors
48 0 : Int_t GetGlobalEoWErrors() const {return fGlobalEoWErrors;}
49 : /// Get number of end of regional word errors
50 0 : Int_t GetRegEoWErrors() const {return fRegEoWErrors;}
51 : /// Get number of end of local word errors
52 0 : Int_t GetLocalEoWErrors() const {return fLocalEoWErrors;}
53 :
54 : /// Get Error logger
55 0 : AliMUONLogger* GetErrorLogger() const {return fLog;}
56 :
57 : /// set warnings flag
58 0 : 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 18 : ClassDef(AliMUONPayloadTrigger, 3) // base class for reading MUON trigger rawdata
85 : };
86 :
87 : #endif
|