]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSRawDecoderv2.h
Ability to apply calculated pedestals in ZS runs added
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawDecoderv2.h
1 #ifndef ALIPHOSRAWDECODERV2_H
2 #define ALIPHOSRAWDECODERV2_H
3 /* Copyright(c) 2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                          */
5
6 /* $Id$ */
7
8 // This class extracts the PHOS "digits" of current event
9 // (amplitude,time, position,gain) from the raw stream 
10 // provided by AliRawReader. See cxx source for use case.
11
12 #include "AliRawReader.h"
13 #include "AliCaloRawStream.h"
14 #include "AliPHOSRawDecoder.h"
15 #include "TArrayD.h"
16 class TList;
17
18 class AliPHOSRawDecoderv2 : public AliPHOSRawDecoder {
19
20 public:
21
22   AliPHOSRawDecoderv2();
23   AliPHOSRawDecoderv2(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
24   AliPHOSRawDecoderv2(const AliPHOSRawDecoderv2& rawDecoder);
25   AliPHOSRawDecoderv2& operator = (const AliPHOSRawDecoderv2& rawDecoder);
26   virtual ~AliPHOSRawDecoderv2();
27
28   virtual Bool_t NextDigit();
29
30   void SetNTimeSamples(Short_t n=25){fNtimeSamples=n ;} 
31   void SetLowGainTParams(Double_t *pars){ for(Int_t i=0;i<3;i++) fLGpar[i]=pars[i] ; }  
32   void SetHighGainTParams(Double_t *pars){ for(Int_t i=0;i<3;i++) fHGpar[i]=pars[i] ; }  
33   void SetRMScut(Double_t cut=2.){fRMScut = cut ;}
34 private:
35   Short_t fNtimeSamples ;  //Number of samples (after start) used to extract time
36   Double_t fLGpar[3] ;     //parameters for shape parameterization
37   Double_t fHGpar[3] ;     //parameters for shape parameterization
38   Double_t fRMScut ;       //cut to estmate goodness of sample
39   
40   ClassDef(AliPHOSRawDecoderv2,1)
41 };
42
43 #endif