Modification needed to include PHOS in the global trigger framework
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawStream2004.h
CommitLineData
45e334f8 1#ifndef ALIPHOSRAWSTREAM2004_H
2#define ALIPHOSRAWSTREAM2004_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9///
10/// This class provides access to PHOS digits in raw data.
11///
12///////////////////////////////////////////////////////////////////////////////
13
14// --- ROOT system ---
15class TClonesArray ;
16
17// --- AliRoot header files ---
18#include "AliAltroRawStream.h"
19class AliRawReader;
20class AliPHOSConTableDB ;
21
22
23class AliPHOSRawStream2004: public TObject {
24
25public :
26
27 AliPHOSRawStream2004(AliRawReader* rawReader);
28
29
30 Bool_t ReadDigits(TClonesArray * digits) ;
31
32//PHOS does not need this method
33 virtual Bool_t Next(){return kFALSE ;} ;
34
35
36 Int_t GetColumn() const {return 0;}
37 Int_t GetModule() const {return 0;}
38 Int_t GetPrevColumn() const {return 0;}
39 Int_t GetPrevModule() const {return 0;}
40 Int_t GetPrevRow() const {return 0;}
41 Int_t GetRow() const {return 0;}
42 Int_t GetSignal() const {return 0;}
43 Int_t GetTime() const {return 0;}
44 Bool_t IsNewColumn() const {return kFALSE; }
45 Bool_t IsNewModule() const {return kFALSE;}
46 Bool_t IsNewRow() const {return kFALSE ;}
47
48
49 void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
50
51 Int_t GetTrigger(void) const {return fTrig ;}
52 Bool_t IsLEDevent(void)const {return fTrig == kLED;}
53 Bool_t IsPULevent(void)const {return fTrig == kPUL;}
54 Bool_t IsPEDevent(void)const {return fTrig == kPED;}
55 Bool_t IsWELevent(void)const {return fTrig == kWEL;}
56 Bool_t IsNELevent(void)const {return fTrig == kNEL;}
57
58
59 public:
60 enum { kLED = 129, // Physics pattern unit for LED events
61 kPUL = 33, // Physics pattern unit for PULSER events
62 kPED = 257, // Physics pattern unit for PEDESTAL events
63 kNEL =1029, // Physics pattern unit for NARROW ELECTRON events
64 kWEL =1027, // Physics pattern unit for WIDE ELECTRON events
65 kSOB =2048, // Pattern unit mask for Start Of Burst trigger or 0 to disable SOB trigger
66 kEOB =4096, // Pattern unit mask for End Of Burst trigger or 0 to disable EOB trigger
67
68 kPattUnitMarker = 27, // Equipment type marker for Pattern Unit
69 kPattUnitEquipId= 64, // Equipment ID for Pattern Unit
70
71 kPhosAdcMarker = 22, // Equipment type marker for PhosAdc (Kurchatov ADC)
72 kPhosAdcEquipId= 16, // Equipment ID for PhosAdc
73
74 kTdcMarker = 26, // Equipment type marker for Tdc
75 kTdcEquipId=128, // Equipment ID for Tdc
76
77 kChargeAdcMarker = 24, // Equipment type marker for ChargeAdc
78 kChargeAdcEquipId= 32, // Equipment ID for ChargeAdc
79
80 kScalerMarker = 25, // Equipment type marker for Scaler
81 kScalerEquipId=256}; // Equipment ID for Scaler
82
83
84protected :
85 AliRawReader* fRawReader; //! object for reading the raw data
86 UChar_t* fData; //! raw data
87 AliPHOSConTableDB * fctdb ; //! connection between RAW index and AbsId of crystal
88
89 Int_t fTrig ; //current trigger
90
91 ClassDef(AliPHOSRawStream2004, 0) // class for reading PHOS raw digits
92};
93
94#endif