]>
Commit | Line | Data |
---|---|---|
972432c1 | 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 */ | |
5 | ||
6 | /*$Id$*/ | |
7 | ||
be68bd50 | 8 | /// \ingroup raw |
972432c1 | 9 | /// \class AliMUONRawStreamTrigger |
10 | /// \brief Class for reading MUON raw digits | |
11 | /// | |
c4ee792d | 12 | // Author: Christian Finck |
972432c1 | 13 | |
14 | #include <TObject.h> | |
313a427d | 15 | #include "AliMUONPayloadTrigger.h" |
972432c1 | 16 | |
17 | class AliRawReader; | |
18 | class AliMUONDDLTrigger; | |
313a427d | 19 | |
972432c1 | 20 | |
21 | class AliMUONRawStreamTrigger: public TObject { | |
22 | public : | |
23 | AliMUONRawStreamTrigger(); | |
24 | AliMUONRawStreamTrigger(AliRawReader* rawReader); | |
972432c1 | 25 | virtual ~AliMUONRawStreamTrigger(); |
26 | ||
27 | virtual Bool_t Next(); | |
28 | virtual Bool_t NextDDL(); | |
972432c1 | 29 | |
71a2d3aa | 30 | /// Return maximum number of DDL in DATE file |
972432c1 | 31 | Int_t GetMaxDDL() const {return fMaxDDL;} |
71a2d3aa | 32 | /// Return maximum number of regional cards in DATE file |
313a427d | 33 | Int_t GetMaxReg() const {return fPayload->GetMaxReg();} |
71a2d3aa | 34 | /// Return maximum number of local cards in DATE file |
313a427d | 35 | Int_t GetMaxLoc() const {return fPayload->GetMaxLoc();} |
972432c1 | 36 | |
37 | ||
38 | void SetMaxDDL(Int_t ddl); | |
39 | void SetMaxReg(Int_t reg); | |
40 | void SetMaxLoc(Int_t loc); | |
41 | ||
71a2d3aa | 42 | /// Set object for reading the raw data |
972432c1 | 43 | void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;} |
44 | ||
71a2d3aa | 45 | /// Return pointer for DDL structure |
313a427d | 46 | AliMUONDDLTrigger* GetDDLTrigger() const {return fPayload->GetDDLTrigger();} |
71a2d3aa | 47 | /// Return number of DDL |
313a427d | 48 | Int_t GetDDL() const {return fDDL - 1;} |
972432c1 | 49 | |
ea59383d | 50 | /// add error message into error logger |
51 | void AddErrorMessage(); | |
52 | ||
53 | /// error numbers | |
54 | enum rawStreamTriggerError { | |
55 | kDarcEoWErr = 6, ///< end of Darc word error | |
56 | kGlobalEoWErr = 7, ///< end of Global word error | |
57 | kRegEoWErr = 8, ///< end of Regional word error | |
58 | kLocalEoWErr = 9 ///< end of local word error | |
59 | ||
60 | }; | |
61 | ||
9f5dcca3 | 62 | private : |
71a2d3aa | 63 | /// Not implemented |
64 | AliMUONRawStreamTrigger(const AliMUONRawStreamTrigger& stream); | |
65 | /// Not implemented | |
66 | AliMUONRawStreamTrigger& operator = (const AliMUONRawStreamTrigger& stream); | |
972432c1 | 67 | |
313a427d | 68 | AliRawReader* fRawReader; ///< object for reading the raw data |
69 | AliMUONPayloadTrigger* fPayload; ///< pointer to payload decoder | |
70 | ||
829425a5 | 71 | Int_t fDDL; ///< number of DDL |
72 | Int_t fSubEntries; ///< entries of buspatch structure | |
73 | Bool_t fNextDDL; ///< flag for next DDL to be read | |
313a427d | 74 | Int_t fMaxDDL; ///< maximum number of DDL in DATE file |
972432c1 | 75 | |
313a427d | 76 | ClassDef(AliMUONRawStreamTrigger, 3) // base class for reading MUON trigger rawdata |
972432c1 | 77 | }; |
78 | ||
79 | #endif |