1 #ifndef ALIPHOSRAWSTREAM_H
2 #define ALIPHOSRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
10 /// This class provides access to PHOS digits in raw data.
12 ///////////////////////////////////////////////////////////////////////////////
14 // --- ROOT system ---
17 // --- AliRoot header files ---
18 #include "AliAltroRawStream.h"
20 class AliPHOSConTableDB ;
23 class AliPHOSRawStream: public TObject {
27 AliPHOSRawStream(AliRawReader* rawReader);
30 Bool_t ReadDigits(TClonesArray * digits) ;
32 //PHOS does not need this method
33 virtual Bool_t Next(){return kFALSE ;} ;
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 ;}
49 void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
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;}
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
68 kPattUnitMarker = 27, // Equipment type marker for Pattern Unit
69 kPattUnitEquipId= 64, // Equipment ID for Pattern Unit
71 kPhosAdcMarker = 22, // Equipment type marker for PhosAdc (Kurchatov ADC)
72 kPhosAdcEquipId= 16, // Equipment ID for PhosAdc
74 kTdcMarker = 26, // Equipment type marker for Tdc
75 kTdcEquipId=128, // Equipment ID for Tdc
77 kChargeAdcMarker = 24, // Equipment type marker for ChargeAdc
78 kChargeAdcEquipId= 32, // Equipment ID for ChargeAdc
80 kScalerMarker = 25, // Equipment type marker for Scaler
81 kScalerEquipId=256}; // Equipment ID for Scaler
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
89 Int_t fTrig ; //current trigger
91 ClassDef(AliPHOSRawStream, 0) // class for reading PHOS raw digits