Make separate, specialized geometries for RPhi and RhoZ views.
[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
3f7dbdb7 29 //Class does not own/free any resources, compiler generated version
30 //are OK, but to supress -Weffc++ we define them explicitly.
31 AliPHOSRawStream2004(const AliPHOSRawStream2004 & rhs);
32 AliPHOSRawStream2004 & operator = (const AliPHOSRawStream2004 & rhs);
33
34
45e334f8 35
36 Bool_t ReadDigits(TClonesArray * digits) ;
37
38//PHOS does not need this method
39 virtual Bool_t Next(){return kFALSE ;} ;
40
41
42 Int_t GetColumn() const {return 0;}
43 Int_t GetModule() const {return 0;}
44 Int_t GetPrevColumn() const {return 0;}
45 Int_t GetPrevModule() const {return 0;}
46 Int_t GetPrevRow() const {return 0;}
47 Int_t GetRow() const {return 0;}
48 Int_t GetSignal() const {return 0;}
49 Int_t GetTime() const {return 0;}
50 Bool_t IsNewColumn() const {return kFALSE; }
51 Bool_t IsNewModule() const {return kFALSE;}
52 Bool_t IsNewRow() const {return kFALSE ;}
53
54
55 void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
56
57 Int_t GetTrigger(void) const {return fTrig ;}
58 Bool_t IsLEDevent(void)const {return fTrig == kLED;}
59 Bool_t IsPULevent(void)const {return fTrig == kPUL;}
60 Bool_t IsPEDevent(void)const {return fTrig == kPED;}
61 Bool_t IsWELevent(void)const {return fTrig == kWEL;}
62 Bool_t IsNELevent(void)const {return fTrig == kNEL;}
63
64
65 public:
66 enum { kLED = 129, // Physics pattern unit for LED events
67 kPUL = 33, // Physics pattern unit for PULSER events
68 kPED = 257, // Physics pattern unit for PEDESTAL events
69 kNEL =1029, // Physics pattern unit for NARROW ELECTRON events
70 kWEL =1027, // Physics pattern unit for WIDE ELECTRON events
71 kSOB =2048, // Pattern unit mask for Start Of Burst trigger or 0 to disable SOB trigger
72 kEOB =4096, // Pattern unit mask for End Of Burst trigger or 0 to disable EOB trigger
73
74 kPattUnitMarker = 27, // Equipment type marker for Pattern Unit
75 kPattUnitEquipId= 64, // Equipment ID for Pattern Unit
76
77 kPhosAdcMarker = 22, // Equipment type marker for PhosAdc (Kurchatov ADC)
78 kPhosAdcEquipId= 16, // Equipment ID for PhosAdc
79
80 kTdcMarker = 26, // Equipment type marker for Tdc
81 kTdcEquipId=128, // Equipment ID for Tdc
82
83 kChargeAdcMarker = 24, // Equipment type marker for ChargeAdc
84 kChargeAdcEquipId= 32, // Equipment ID for ChargeAdc
85
86 kScalerMarker = 25, // Equipment type marker for Scaler
87 kScalerEquipId=256}; // Equipment ID for Scaler
88
89
90protected :
91 AliRawReader* fRawReader; //! object for reading the raw data
92 UChar_t* fData; //! raw data
93 AliPHOSConTableDB * fctdb ; //! connection between RAW index and AbsId of crystal
94
95 Int_t fTrig ; //current trigger
96
97 ClassDef(AliPHOSRawStream2004, 0) // class for reading PHOS raw digits
98};
99
100#endif