X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSCalibrationSDD.h;h=315476201735e693dc5213bf824e2295f45ee45f;hb=db05d873b60d93d0d77231d155283ca205ba2dce;hp=95be2b1a40db706208fb6ceeaaa20b46514bcf69;hpb=bb292d31add9ce429519473f9814bcf9adae64d4;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSCalibrationSDD.h b/ITS/AliITSCalibrationSDD.h index 95be2b1a40d..31547620173 100644 --- a/ITS/AliITSCalibrationSDD.h +++ b/ITS/AliITSCalibrationSDD.h @@ -10,7 +10,7 @@ #include "AliITSsegmentationSDD.h" #include "TArrayI.h" -class AliITSMapSDD; +class AliITSCorrMapSDD; class AliITSDriftSpeedArraySDD; /////////////////////////////////////////////////////// @@ -97,25 +97,29 @@ class AliITSCalibrationSDD : public AliITSCalibration { virtual Bool_t IsChipBad(Int_t nChip) const { return fIsChipBad[nChip]; } + virtual Bool_t IsWingBad(Int_t nwing) const + { + if(nwing<0 || nwing>1) return kFALSE; + if(IsChipBad(nwing*4) && IsChipBad(nwing*4+1) && IsChipBad(nwing*4+2) && IsChipBad(nwing*4+3)) return kTRUE; + return kFALSE; + } + Int_t Wings()const{return fgkWings;}//Total number of SDD wings Int_t Chips() const{return fgkChips;} // Number of chips/module Int_t Channels() const{ return fgkChannels;}//Number of channels/chip - + Int_t NOfAnodes() const {return fgkChannels*fgkChips*fgkWings;} + virtual void SetBadChannel(Int_t i,Int_t anode); Int_t GetBadChannel(Int_t i) const {return fBadChannels[i];} Bool_t IsBadChannel(Int_t anode) const{ if(GetChannelGain(anode)==0) return kTRUE; else return kFALSE; } - void SetUseCorrectionMaps(Bool_t useAnodeMap, Bool_t useDriftMap){ - fUseACorrMap=useAnodeMap; - fUseTCorrMap=useDriftMap; - } Float_t GetMapACell(Int_t i,Int_t j) const { if(i<256) return fMapAW0->GetCellContent(i,j); else return fMapAW1->GetCellContent(i-256,j); } - virtual void SetMapA(Int_t wing,AliITSMapSDD* mapA) { + virtual void SetMapA(Int_t wing,AliITSCorrMapSDD* mapA) { if(wing==0) fMapAW0=mapA; else fMapAW1=mapA; } @@ -123,7 +127,7 @@ class AliITSCalibrationSDD : public AliITSCalibration { if(i<256) return fMapTW0->GetCellContent(i,j); else return fMapTW1->GetCellContent(i-256,j); } - virtual void SetMapT(Int_t wing,AliITSMapSDD* mapT) { + virtual void SetMapT(Int_t wing,AliITSCorrMapSDD* mapT) { if(wing==0) fMapTW0=mapT; else fMapTW1=mapT; } @@ -143,12 +147,13 @@ class AliITSCalibrationSDD : public AliITSCalibration { virtual void SetZeroSupp(Bool_t opt=kTRUE) {fZeroSupp=opt;} virtual Bool_t GetZeroSupp() const {return fZeroSupp;} + virtual void SetAMAt40MHz() {fAMAt20MHz=kFALSE;} virtual void SetAMAt20MHz() {fAMAt20MHz=kTRUE;} virtual Bool_t IsAMAt20MHz() const {return fAMAt20MHz;} - virtual Float_t GetDriftPath(Float_t time, Float_t xAnode) const {return time*GetDriftSpeedAtAnode(xAnode);} void GetCorrections(Float_t z, Float_t x, Float_t &devz, Float_t &devx, AliITSsegmentationSDD* seg); - virtual Float_t GetThresholdAnode(Int_t anode,Int_t nsigma=3) const { + void GetShiftsForSimulation(Float_t z, Float_t x, Float_t &devz, Float_t &devx, AliITSsegmentationSDD* seg); + virtual Float_t GetThresholdAnode(Int_t anode, Double_t nsigma=2.2) const { return nsigma*fNoiseAfterEl[anode];} @@ -181,13 +186,10 @@ class AliITSCalibrationSDD : public AliITSCalibration { TArrayI fBadChannels; //Array with bad anodes number (0-512) - Bool_t fUseACorrMap; // flag for the use of correction maps (anode) - Bool_t fUseTCorrMap; // flag for the use of correction maps (drift) - - AliITSMapSDD* fMapAW0; //! map of residuals on anode coord. wing 0 - AliITSMapSDD* fMapAW1; //! map of residuals on anode coord. wing 1 - AliITSMapSDD* fMapTW0; //! map of residuals on time coord. wing 0 - AliITSMapSDD* fMapTW1; //! map of residuals on time coord. wing 1 + AliITSCorrMapSDD* fMapAW0; //! map of residuals on anode coord. wing 0 + AliITSCorrMapSDD* fMapAW1; //! map of residuals on anode coord. wing 1 + AliITSCorrMapSDD* fMapTW0; //! map of residuals on time coord. wing 0 + AliITSCorrMapSDD* fMapTW1; //! map of residuals on time coord. wing 1 AliITSDriftSpeedArraySDD* fDrSpeed0; //! drift speed for wing 0 AliITSDriftSpeedArraySDD* fDrSpeed1; //! drift speed for wing 1 @@ -196,7 +198,7 @@ class AliITSCalibrationSDD : public AliITSCalibration { AliITSCalibrationSDD& operator=(const AliITSCalibrationSDD & /* source */); // ass. op. - ClassDef(AliITSCalibrationSDD,13) + ClassDef(AliITSCalibrationSDD,17) }; #endif