X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFSDigitizer.h;h=a5c591c6e33b8f6b916f67513f129da09d3df619;hb=60dd5042bf4e0785a7e9e79abd6d3c60b5282a71;hp=ecb58f04daebcd8f4c16a1125e2a1ac68b94aa2d;hpb=b5e5bb155c5078a458c60a3e30fe6858ee5aad90;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFSDigitizer.h b/TOF/AliTOFSDigitizer.h index ecb58f04dae..a5c591c6e33 100644 --- a/TOF/AliTOFSDigitizer.h +++ b/TOF/AliTOFSDigitizer.h @@ -1,39 +1,49 @@ #ifndef ALITOFSDigitizer_H #define ALITOFSDigitizer_H + /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ +//__________________________________________// +// // +// Task Class for making SDigits in TOF // +// // +//-- Authors: F. Pierella, A. De Caro // +// // +//__________________________________________// -//_________________________________________________________________________ -// Task Class for making SDigits in TOF -// -//-- Authors: F. Pierella, A. De Caro - +/* $Id$ */ #include "TTask.h" -#include "TString.h" -#include "AliTOF.h" -#include "AliDetector.h" class TF1; +class TString; +class AliLoader; +class AliRunLoader; class AliTOFSDigitizer: public TTask { public: AliTOFSDigitizer() ; // ctor - AliTOFSDigitizer(const char* HeaderFile, Int_t evNumber1=0, Int_t nEvents=1) ; // par ctor + //AliTOFSDigitizer(const char* HeaderFile) ; // par ctor + AliTOFSDigitizer(const char* HeaderFile, Int_t evNumber1=-1, Int_t nEvents=0) ; // par ctor + + AliTOFSDigitizer(const AliTOFSDigitizer &source); // copy constructor + AliTOFSDigitizer& operator=(const AliTOFSDigitizer &/*source*/); // ass. op. virtual ~AliTOFSDigitizer() ; // dtor - virtual void Exec(Option_t *verboseOption, Option_t *allEvents="noAll"); - void SetSDigitsFile(const char* file ) {;} + //static Float_t WidthTdcBin() {return fgkTdcBin;}; + + virtual void Exec(Option_t *verboseOption); + void SetSDigitsFile(char * /*file*/ ) {;} void InitParameters(); virtual void PrintParameters() const ; - virtual void SimulateDetectorResponse(Float_t z0, Float_t x0, Float_t geantTime, Int_t& nActivatedPads, Int_t& nFiredPads, Bool_t* isFired, Int_t* nPlace, Float_t* qInduced, Float_t* tofTime, Float_t& averageTime); + virtual void SimulateDetectorResponse(Float_t z0, Float_t x0, Float_t geantTime, Int_t& nActivatedPads, Int_t& nFiredPads, Bool_t* isFired, Int_t* nPlace, Float_t* qInduced, Float_t* tofTime, Float_t& averageTime); virtual void Print(Option_t* opt) const ; - void SetFirstEvent(Int_t event1) {fEvent1=event1;} - void SetSecondEvent(Int_t event2) {fEvent2=event2;} + void SetFirstEvent(Int_t event1) {fEvent1 = event1;} + void SetSecondEvent(Int_t event2) {fEvent2 = event2;} Int_t GetFirstEvent() const {return fEvent1;} Int_t GetSecondEvent() const {return fEvent2;} Int_t GetNEvents() const {return (fEvent2-fEvent1);} @@ -52,6 +62,7 @@ public: void SetEffBoundary(Float_t effBoundary) {fEffBoundary=effBoundary;} void SetEff2Boundary(Float_t eff2Boundary) {fEff2Boundary=eff2Boundary;} void SetEff3Boundary(Float_t eff3Boundary) {fEff3Boundary=eff3Boundary;} + void SetAddTRes(Float_t addTRes) {fAddTRes=addTRes;} void SetResCenter (Float_t resCenter) {fResCenter=resCenter;} void SetResBoundary(Float_t resBoundary) {fResBoundary=resBoundary;} void SetResSlope(Float_t resSlope) {fResSlope=resSlope;} @@ -67,7 +78,7 @@ public: void SetLogChargeSmearing(Float_t logChargeSmearing){fLogChargeSmearing=logChargeSmearing;} void SetTimeSmearing(Float_t timeSmearing) {fTimeSmearing=timeSmearing;} void SetAverageTimeFlag(Int_t averageTimeFlag) {fAverageTimeFlag=averageTimeFlag;} - void SetTdcBin(Float_t tdcBin) {fTdcBin=tdcBin;} + void SetAdcBin(Float_t adcBin) {fAdcBin=adcBin;} void SetAdcMean(Float_t adcMean) {fAdcMean=adcMean;} void SetAdcRms(Float_t adcRms) {fAdcRms=adcRms;} @@ -83,6 +94,7 @@ public: Float_t GetEffBoundary() const {return fEffBoundary;} Float_t GetEff2Boundary() const {return fEff2Boundary;} Float_t GetEff3Boundary() const {return fEff3Boundary;} + Float_t GetAddTRes () const {return fAddTRes;} Float_t GetResCenter () const {return fResCenter;} Float_t GetResBoundary() const {return fResBoundary;} Float_t GetResSlope() const {return fResSlope;} @@ -97,17 +109,23 @@ public: Float_t GetLogChargeSmearing()const {return fLogChargeSmearing;} Float_t GetTimeSmearing() const {return fTimeSmearing;} Int_t GetAverageTimeFlag() const {return fAverageTimeFlag;} - Float_t GetTdcBin() const {return fTdcBin;} + Float_t GetAdcBin() const {return fAdcBin;} Float_t GetAdcMean() const {return fAdcMean;} Float_t GetAdcRms() const {return fAdcRms;} +protected: + + private: Int_t fEvent1; // lower bound for events to sdigitize Int_t fEvent2; // upper bound for events to sdigitize TF1 *ftail; // pointer to formula for time with tail TString fHeadersFile; // input file + AliRunLoader* fRunLoader; //! Run Loader + AliLoader* fTOFLoader; //! Loader + Int_t fSelectedSector; // sector number for sdigitization Int_t fSelectedPlate ; // plate number for sdigitization @@ -117,17 +135,19 @@ private: Float_t fpadefficiency; // intrinsic pad efficiency, used if fEdgeEffect==0 Int_t fEdgeEffect; // edge effects option Int_t fEdgeTails; // edge tails option - Float_t fHparameter; // sensitive edge (to produce hits on the - // neighbouring pads) =0.7, new = 0.4 cm + Float_t fHparameter; // sensitive edge (to produce hits on the neighbouring pads) + // 0.7 cm (old); 0.4 cm (new) Float_t fH2parameter; // parameter to fit the efficiency - Float_t fKparameter; // sensitive edge (going ahead towards the - // center no delay effects are suffered) =1.0, new = 0.5 cm + Float_t fKparameter; // sensitive edge (going ahead towards the center + // no delay effects are suffered) 1.0 cm (old); 0.5 cm (new) Float_t fK2parameter; // parameter to fit the efficiency // Pad Efficiency and Resolution parameters Float_t fEffCenter; // efficiency in the central region of the pad Float_t fEffBoundary; // efficiency at the boundary of the pad Float_t fEff2Boundary; // efficiency value at H2parameter Float_t fEff3Boundary; // efficiency value at K2parameter + Float_t fAddTRes; // additional contribution to + // the intrinsic MRPC time resolution (ps) Float_t fResCenter; // resolution (ps) in the central region of the pad Float_t fResBoundary; // resolution (ps) at the boundary of the pad Float_t fResSlope; // slope (ps/K) for neighbouring pad @@ -147,15 +167,12 @@ private: Float_t fLogChargeSmearing;// Smearing in log of charge ratio Float_t fTimeSmearing; // Smearing in time in time vs log(q1/q2) plot Int_t fAverageTimeFlag; // flag (see the setter for details) - Float_t fTdcBin; // time-window for the TDC bins [ps] + Float_t fAdcBin; // charge-window for the ADC bins [pC] Float_t fAdcMean; // mean value for the ADC spectrum [bins] Float_t fAdcRms; // rms value for the ADC spectrum [bins] - protected: - - - ClassDef(AliTOFSDigitizer,2) // creates TOF SDigits + ClassDef(AliTOFSDigitizer,3) // creates TOF SDigits };