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 */
6 ///////////////////////////////////////////////////////////////////////////////
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
11 ///////////////////////////////////////////////////////////////////////////////
14 #include <TClonesArray.h>
19 class AliCTPRawStream: public TObject {
21 AliCTPRawStream(AliRawReader* rawReader);
22 virtual ~AliCTPRawStream();
26 virtual Bool_t Next();
28 UInt_t GetOrbitID() const { return fOrbit; }
29 UShort_t GetBCID() const { return fBC; }
31 UInt_t GetL0Inputs() const { return fL0TriggerInputs; }
32 UInt_t GetL1Inputs() const { return fL1TriggerInputs; }
33 UShort_t GetL2Inputs() const { return fL2TriggerInputs; }
35 ULong64_t GetClassMask() const { return fClassMask; } // Provide the trigger class mask
36 UChar_t GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask
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); }
44 AliCTPRawStream(const AliCTPRawStream& stream);
45 AliCTPRawStream& operator = (const AliCTPRawStream& stream);
48 TClonesArray fIRArray; // array with trigger interaction records
50 UInt_t fOrbit; // orbit ID as sent by CTP
51 UShort_t fBC; // bunch-crossing number as sent by CTP
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)
57 ULong64_t fClassMask; // trigger class mask
58 UChar_t fClusterMask; // trigger cluster mask
60 AliRawReader* fRawReader; // object for reading the raw data
62 ClassDef(AliCTPRawStream, 0) // class for reading CTP DDL raw data