]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRawStream.h
Version for beam test analysis
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawStream.h
index 44ce217fb26446c40692d78d973034c2dfde5e76..9e699a96df0e024965887ddf01e57f9df9aab03f 100644 (file)
 ///////////////////////////////////////////////////////////////////////////////
 
 // --- ROOT system ---
+class TClonesArray ;
 
 // --- AliRoot header files ---
 #include "AliAltroRawStream.h"
 class AliRawReader;
+class AliPHOSConTableDB ;
 
 
-class AliPHOSRawStream: public AliAltroRawStream {
+class AliPHOSRawStream: public TObject {
 
 public :
   
   AliPHOSRawStream(AliRawReader* rawReader);
   
-  Int_t            GetColumn() const {return fPad;}
-  Int_t            GetModule() const {return fSector;}
-  Int_t            GetPrevColumn() const {return fPrevPad;}
-  Int_t            GetPrevModule() const {return fPrevSector;}
-  Int_t            GetPrevRow() const {return fPrevRow;}
-  Int_t            GetRow() const {return fRow;}
-  Int_t            GetSignal() const {return fSignal;}
-  Int_t            GetTime() const {return fTime;}
-  Bool_t           IsNewColumn() const {return (GetColumn() != GetPrevColumn()) || IsNewRow();}
-  Bool_t           IsNewModule() const {return GetModule() != GetPrevModule();}
-  Bool_t           IsNewRow() const {return (GetRow() != GetPrevRow()) || IsNewModule();}
-  
+
+ Bool_t ReadDigits(TClonesArray * digits) ;
+//PHOS does not need this method
+ virtual Bool_t    Next(){return kFALSE ;} ; 
+ Int_t            GetColumn() const {return 0;}
+ Int_t            GetModule() const {return 0;}
+ Int_t            GetPrevColumn() const {return 0;}
+ Int_t            GetPrevModule() const {return 0;}
+ Int_t            GetPrevRow() const {return 0;}
+ Int_t            GetRow() const {return 0;}
+ Int_t            GetSignal() const {return 0;}
+ Int_t            GetTime() const {return 0;}
+ Bool_t           IsNewColumn() const {return kFALSE; }
+ Bool_t           IsNewModule() const {return kFALSE;}
+ Bool_t           IsNewRow() const {return kFALSE ;}
+
+ void SetConTableDB(AliPHOSConTableDB * ctdb){fctdb = ctdb ;}
+
+ Int_t GetTrigger(void) const {return fTrig ;}
+ Bool_t IsLEDevent(void)const {return fTrig == kLED;}
+ Bool_t IsPULevent(void)const {return fTrig == kPUL;}
+ Bool_t IsPEDevent(void)const {return fTrig == kPED;}
+ Bool_t IsWELevent(void)const {return fTrig == kWEL;}
+ Bool_t IsNELevent(void)const {return fTrig == kNEL;}
+
+
+ public:
+ enum {        kLED = 129,     // Physics pattern unit for LED events
+       kPUL =  33,     // Physics pattern unit for PULSER events
+       kPED = 257,     // Physics pattern unit for PEDESTAL events
+       kNEL =1029,     // Physics pattern unit for NARROW ELECTRON events
+       kWEL =1027,     // Physics pattern unit for WIDE ELECTRON events
+       kSOB =2048,     // Pattern unit mask for Start Of Burst trigger or 0 to disable SOB trigger
+       kEOB =4096,     // Pattern unit mask for End   Of Burst trigger or 0 to disable EOB trigger
+
+       kPattUnitMarker = 27,  // Equipment type marker for Pattern Unit
+       kPattUnitEquipId= 64,  // Equipment ID for Pattern Unit
+
+       kPhosAdcMarker = 22,   // Equipment type marker for PhosAdc (Kurchatov ADC)
+       kPhosAdcEquipId= 16,   // Equipment ID for PhosAdc
+
+       kTdcMarker = 26,       // Equipment type marker for Tdc
+       kTdcEquipId=128,       // Equipment ID for Tdc
+
+       kChargeAdcMarker = 24, // Equipment type marker for ChargeAdc
+       kChargeAdcEquipId= 32, // Equipment ID for ChargeAdc
+
+       kScalerMarker = 25,    // Equipment type marker for Scaler
+       kScalerEquipId=256};   // Equipment ID for Scaler
+
+
+protected :
+  AliRawReader*       fRawReader; //! object for reading the raw data
+  UChar_t*            fData;      //! raw data
+  AliPHOSConTableDB * fctdb ;     //! connection between RAW index and AbsId of crystal 
+
+  Int_t fTrig ; //current trigger
+
   ClassDef(AliPHOSRawStream, 0)   // class for reading PHOS raw digits
-    };
+};
 
 #endif