]>
Commit | Line | Data |
---|---|---|
65792ca0 | 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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | /////////////////////////////////////////////////////////////////////////////// | |
9 | /// | |
10 | /// This class provides access to PHOS digits in raw data. | |
11 | /// | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
b7f3cbac | 14 | // --- ROOT system --- |
c2b19535 | 15 | class TClonesArray ; |
65792ca0 | 16 | |
b7f3cbac | 17 | // --- AliRoot header files --- |
18 | #include "AliAltroRawStream.h" | |
65792ca0 | 19 | class AliRawReader; |
c2b19535 | 20 | class AliPHOSConTableDB ; |
65792ca0 | 21 | |
22 | ||
c2b19535 | 23 | class AliPHOSRawStream: public TObject { |
b7f3cbac | 24 | |
25 | public : | |
26 | ||
27 | AliPHOSRawStream(AliRawReader* rawReader); | |
28 | ||
c2b19535 | 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 | ||
84 | protected : | |
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 | ||
b7f3cbac | 91 | ClassDef(AliPHOSRawStream, 0) // class for reading PHOS raw digits |
c2b19535 | 92 | }; |
65792ca0 | 93 | |
94 | #endif |