]>
Commit | Line | Data |
---|---|---|
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> | |
14 | #include <TClonesArray.h> | |
15 | ||
16 | class AliRawReader; | |
17 | class AliTriggerIR; | |
18 | ||
19 | class AliCTPRawStream: public TObject { | |
20 | public : | |
21 | AliCTPRawStream(AliRawReader* rawReader); | |
22 | virtual ~AliCTPRawStream(); | |
23 | ||
24 | ||
25 | virtual void Reset(); | |
26 | virtual Bool_t Next(); | |
27 | ||
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 | ||
35 | ULong64_t GetClassMask() const { return fClassMask; } // Provide the trigger class mask | |
36 | UChar_t GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask | |
37 | ||
38 | Int_t GetNIRs() const { return fIRArray.GetEntriesFast(); } | |
39 | const TClonesArray &GetAllIRs() const { return fIRArray; } | |
40 | const AliTriggerIR *GetIR(Int_t index) const { return (const AliTriggerIR*)fIRArray.UncheckedAt(index); } | |
41 | ||
42 | ||
43 | protected: | |
44 | AliCTPRawStream(const AliCTPRawStream& stream); | |
45 | AliCTPRawStream& operator = (const AliCTPRawStream& stream); | |
46 | ||
47 | private: | |
48 | TClonesArray fIRArray; // array with trigger interaction records | |
49 | ||
50 | UInt_t fOrbit; // orbit ID as sent by CTP | |
51 | UShort_t fBC; // bunch-crossing number as sent by CTP | |
52 | ||
53 | UInt_t fL0TriggerInputs; // L0 trigger inputs (24 bits) | |
54 | UInt_t fL1TriggerInputs; // L1 trigger inputs (24 bits) | |
55 | UShort_t fL2TriggerInputs; // L2 trigger inputs (12 bits) | |
56 | ||
57 | ULong64_t fClassMask; // trigger class mask | |
58 | UChar_t fClusterMask; // trigger cluster mask | |
59 | ||
60 | AliRawReader* fRawReader; // object for reading the raw data | |
61 | ||
62 | ClassDef(AliCTPRawStream, 0) // class for reading CTP DDL raw data | |
63 | }; | |
64 | ||
65 | #endif |