AliRoot Core  ee782a0 (ee782a0)
AliCTPRawStream.h
Go to the documentation of this file.
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 
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  ULong64_t GetClassMaskNext50() const { return fClassMaskNext50; } // Provide the trigger class mask
37  UChar_t GetClusterMask() const { return fClusterMask; }// Provide the trigger cluster mask
38  Bool_t GetPayloadRun1(UChar_t* data);
39  Bool_t GetPayloadRun2(UChar_t* data);
40  Int_t GetDDL1Data(UChar_t* data,Int_t& iword);
41  Int_t GetDDL2Data(UChar_t* data,Int_t& iword);
42 
43  Int_t GetNIRs() const { return fIRArray.GetEntriesFast(); }
44  const TClonesArray &GetAllIRs() const { return fIRArray; }
45  const AliTriggerIR *GetIR(Int_t index) const { return (const AliTriggerIR*)fIRArray.UncheckedAt(index); }
46 
47 
48  protected:
49  AliCTPRawStream(const AliCTPRawStream& stream);
51 
52  private:
53  TClonesArray fIRArray; // array with trigger interaction records
54 
55  UInt_t fOrbit; // orbit ID as sent by CTP
56  UShort_t fBC; // bunch-crossing number as sent by CTP
57 
58  UInt_t fL0TriggerInputs; // L0 trigger inputs (24 bits)
59  UInt_t fL1TriggerInputs; // L1 trigger inputs (24 bits)
60  UShort_t fL2TriggerInputs; // L2 trigger inputs (12 bits)
61 
62  ULong64_t fClassMask; // trigger class mask
63  ULong64_t fClassMaskNext50; // trigger class mask
64  UChar_t fClusterMask; // trigger cluster mask
65 
66  AliRawReader* fRawReader; // object for reading the raw data
67 
68  ClassDef(AliCTPRawStream, 0) // class for reading CTP DDL raw data
69 };
70 
71 #endif
Bool_t GetPayloadRun1(UChar_t *data)
Bool_t GetPayloadRun2(UChar_t *data)
UShort_t GetBCID() const
ULong64_t GetClassMask() const
virtual void Reset()
UChar_t GetClusterMask() const
Int_t GetDDL2Data(UChar_t *data, Int_t &iword)
ULong64_t fClassMaskNext50
UShort_t GetL2Inputs() const
ULong64_t fClassMask
ULong64_t GetClassMaskNext50() const
Int_t GetNIRs() const
UShort_t fL2TriggerInputs
UInt_t GetL0Inputs() const
virtual ~AliCTPRawStream()
AliCTPRawStream & operator=(const AliCTPRawStream &stream)
UInt_t GetOrbitID() const
const AliTriggerIR * GetIR(Int_t index) const
AliCTPRawStream(AliRawReader *rawReader)
UInt_t GetL1Inputs() const
TClonesArray fIRArray
Int_t GetDDL1Data(UChar_t *data, Int_t &iword)
virtual Bool_t Next()
const TClonesArray & GetAllIRs() const
AliRawReader * fRawReader