]>
Commit | Line | Data |
---|---|---|
86ad02d4 | 1 | #ifndef ALICTPRAWSTREAM_H |
2 | #define ALICTPRAWSTREAM_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /////////////////////////////////////////////////////////////////////////////// | |
7 | /// | |
8 | /// This is a class for reading the CTP (trigger) DDL raw data | |
9 | /// The format of the raw data is taken form the trigger TDR | |
10 | /// | |
11 | /////////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | #include <TObject.h> | |
ce9ace8c | 14 | #include <TClonesArray.h> |
86ad02d4 | 15 | |
16 | class AliRawReader; | |
ce9ace8c | 17 | class AliTriggerIR; |
86ad02d4 | 18 | |
19 | class AliCTPRawStream: public TObject { | |
20 | public : | |
21 | AliCTPRawStream(AliRawReader* rawReader); | |
22 | virtual ~AliCTPRawStream(); | |
23 | ||
ce9ace8c | 24 | |
86ad02d4 | 25 | virtual void Reset(); |
26 | virtual Bool_t Next(); | |
27 | ||
4bc0c995 | 28 | UInt_t GetOrbitID() const { return fOrbit; } |
29 | UShort_t GetBCID() const { return fBC; } | |
30 | ||
31 | UInt_t GetL0Inputs() const { return fL0TriggerInputs; } | |
32 | UInt_t GetL1Inputs() const { return fL1TriggerInputs; } | |
33 | UShort_t GetL2Inputs() const { return fL2TriggerInputs; } | |
34 | ||
ce9ace8c | 35 | ULong64_t GetClassMask() const { return fClassMask; } // Provide the trigger class mask |
afc49918 | 36 | ULong64_t GetClassMaskNext50() const { return fClassMaskNext50; } // Provide the trigger class mask |
ce9ace8c | 37 | UChar_t GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask |
afc49918 | 38 | Bool_t GetPayloadRun1(UChar_t* data); |
39 | Bool_t GetPayloadRun2(UChar_t* data); | |
ce9ace8c | 40 | |
41 | Int_t GetNIRs() const { return fIRArray.GetEntriesFast(); } | |
42 | const TClonesArray &GetAllIRs() const { return fIRArray; } | |
43 | const AliTriggerIR *GetIR(Int_t index) const { return (const AliTriggerIR*)fIRArray.UncheckedAt(index); } | |
44 | ||
86ad02d4 | 45 | |
46 | protected: | |
47 | AliCTPRawStream(const AliCTPRawStream& stream); | |
48 | AliCTPRawStream& operator = (const AliCTPRawStream& stream); | |
49 | ||
50 | private: | |
ce9ace8c | 51 | TClonesArray fIRArray; // array with trigger interaction records |
86ad02d4 | 52 | |
4bc0c995 | 53 | UInt_t fOrbit; // orbit ID as sent by CTP |
54 | UShort_t fBC; // bunch-crossing number as sent by CTP | |
55 | ||
56 | UInt_t fL0TriggerInputs; // L0 trigger inputs (24 bits) | |
57 | UInt_t fL1TriggerInputs; // L1 trigger inputs (24 bits) | |
58 | UShort_t fL2TriggerInputs; // L2 trigger inputs (12 bits) | |
59 | ||
86ad02d4 | 60 | ULong64_t fClassMask; // trigger class mask |
afc49918 | 61 | ULong64_t fClassMaskNext50; // trigger class mask |
86ad02d4 | 62 | UChar_t fClusterMask; // trigger cluster mask |
63 | ||
64 | AliRawReader* fRawReader; // object for reading the raw data | |
65 | ||
86ad02d4 | 66 | ClassDef(AliCTPRawStream, 0) // class for reading CTP DDL raw data |
67 | }; | |
68 | ||
69 | #endif |