1 #ifndef ALIMUONRAWSTREAMTRIGGER_H
2 #define ALIMUONRAWSTREAMTRIGGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONRawStreamTrigger
10 /// \brief Class for reading MUON raw digits
12 // Author: Christian Finck
15 #include "AliMUONPayloadTrigger.h"
18 class AliMUONDDLTrigger;
21 class AliMUONRawStreamTrigger: public TObject {
23 AliMUONRawStreamTrigger();
24 AliMUONRawStreamTrigger(AliRawReader* rawReader);
25 virtual ~AliMUONRawStreamTrigger();
27 virtual Bool_t Next();
28 virtual Bool_t NextDDL();
30 /// Return maximum number of DDLs
31 Int_t GetMaxDDL() const {return fMaxDDL;}
32 /// Return maximum number of regional cards in DATE file
33 Int_t GetMaxReg() const {return fPayload->GetMaxReg();}
34 /// Return maximum number of local cards in DATE file
35 Int_t GetMaxLoc() const {return fPayload->GetMaxLoc();}
37 void SetMaxReg(Int_t reg);
38 void SetMaxLoc(Int_t loc);
40 /// Set object for reading the raw data
41 void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;}
43 /// Return pointer for DDL structure
44 AliMUONDDLTrigger* GetDDLTrigger() const {return fPayload->GetDDLTrigger();}
46 /// Return pointer for payload
47 AliMUONPayloadTrigger* GetPayLoad() const {return fPayload;}
49 /// Return number of DDL
50 Int_t GetDDL() const {return fDDL - 1;}
52 /// add error message into error logger
53 void AddErrorMessage();
55 /// Enable error info logger
56 void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;}
59 enum rawStreamTriggerError {
60 kDarcEoWErr = 6, ///< end of Darc word error
61 kGlobalEoWErr = 7, ///< end of Global word error
62 kRegEoWErr = 8, ///< end of Regional word error
63 kLocalEoWErr = 9 ///< end of local word error
69 AliMUONRawStreamTrigger(const AliMUONRawStreamTrigger& stream);
71 AliMUONRawStreamTrigger& operator = (const AliMUONRawStreamTrigger& stream);
73 AliRawReader* fRawReader; ///< object for reading the raw data
74 AliMUONPayloadTrigger* fPayload; ///< pointer to payload decoder
76 Int_t fDDL; ///< number of DDL
77 Int_t fSubEntries; ///< entries of buspatch structure
78 Bool_t fNextDDL; ///< flag for next DDL to be read
79 Bool_t fEnableErrorLogger; //!< flag to enable the error info logger
81 static const Int_t fMaxDDL; ///< maximum number of DDLs
83 ClassDef(AliMUONRawStreamTrigger, 4) // base class for reading MUON trigger rawdata