X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=VZERO%2FAliVZERO.h;h=c2087644ffdbc09e911fbe9fbfbebc9758bee180;hb=d93f62b9da886da4e69a00789f99e187dc58118b;hp=f33bb55e25b8b064273ef6e92b7f5c076817413b;hpb=0b2bea8bebb72a2b071564a85684533699bcfed0;p=u%2Fmrichter%2FAliRoot.git diff --git a/VZERO/AliVZERO.h b/VZERO/AliVZERO.h index f33bb55e25b..c2087644ffd 100755 --- a/VZERO/AliVZERO.h +++ b/VZERO/AliVZERO.h @@ -22,10 +22,13 @@ class TNamed; class TTree; +class TF1; class AliVZEROLoader; class AliVZEROhit; class AliVZEROdigit; +class AliVZEROCalibData; +class AliVZERORecoParam; class AliVZERO : public AliDetector { @@ -34,21 +37,19 @@ public: AliVZERO(); AliVZERO(const char *name, const char *title); virtual ~AliVZERO(); -// virtual void AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; -// virtual void AddDigits(Int_t* tracks, Int_t* digits)=0; - virtual void BuildGeometry(); + virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void AddAlignableVolumes() const {} - virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual Int_t IsVersion() const = 0; virtual void Init(); virtual AliLoader* MakeLoader(const char* topfoldername); virtual void Hits2Digits(); + virtual void Hits2SDigits(); virtual void Digits2Raw(); + virtual Bool_t Raw2SDigits(AliRawReader*); virtual void SetTreeAddress(); virtual void MakeBranch(Option_t *option) =0; - virtual void DrawModule() const {}; virtual void StepManager() {}; // Trigger virtual AliTriggerDetector* CreateTriggerDetector() const @@ -62,7 +63,11 @@ public: virtual void SetMaxDestepQua(Float_t p1); virtual void SetMaxDestepAlu(Float_t p1); - AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; + AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const; + + void GetCalibData(); + Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const; + double SignalShape(double *x, double *par); protected: @@ -75,8 +80,19 @@ protected: Float_t fMaxStepAlu; // Maximum step size inside the aluminum volumes Float_t fMaxDestepQua; // Maximum relative energy loss in quartz Float_t fMaxDestepAlu; // Maximum relative energy loss in aluminum - - ClassDef(AliVZERO,1) //Class for the VZERO detector + +private: + AliVZERO(const AliVZERO& /*vzero*/); + AliVZERO& operator = (const AliVZERO& /*vzero*/); + + AliVZEROCalibData *fCalibData; //! Pointer to the calibration object + Int_t fNBins[64]; //! Number of bins in each SDigit + Float_t fBinSize[64]; //! Bin size in each SDigit + TF1* fTimeSlewing; //! Function for time slewing correction + TF1* fSignalShape; //! Function for signal shape used in Raw->SDigits + AliVZERORecoParam *fRecoParam; //! Reco params used in Raw->SDigits + + ClassDef(AliVZERO,2) //Class for the VZERO detector }; //____________________________________________________________