]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEER/AliCTPRawStream.h
Fix for raw ctp decoding (Marek)
[u/mrichter/AliRoot.git] / STEER / STEER / AliCTPRawStream.h
CommitLineData
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
16class AliRawReader;
ce9ace8c 17class AliTriggerIR;
86ad02d4 18
19class 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