X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSsegmentationSPD.h;h=f1c69a18055baa2c99117a4605c0eab9d5d35eee;hb=dbd5e722239ec22801cd7820c93b3a444e0935bd;hp=017915fb74db8c904d3a407bc1a068851af79827;hpb=f1e07e4b9dc135718337ddc61f4a183c5423f1ba;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSsegmentationSPD.h b/ITS/AliITSsegmentationSPD.h index 017915fb74d..f1c69a18055 100644 --- a/ITS/AliITSsegmentationSPD.h +++ b/ITS/AliITSsegmentationSPD.h @@ -3,7 +3,6 @@ #include "AliITSsegmentation.h" -#include class AliITSgeom; @@ -15,38 +14,38 @@ public AliITSsegmentation { AliITSsegmentationSPD(); AliITSsegmentationSPD(AliITSgeom *gm); - AliITSsegmentationSPD(AliITSsegmentationSPD &source); + AliITSsegmentationSPD(const AliITSsegmentationSPD &source); virtual ~AliITSsegmentationSPD(){} - AliITSsegmentationSPD& operator=(AliITSsegmentationSPD &source); + AliITSsegmentationSPD& operator=(const AliITSsegmentationSPD &source); // Set Detector Segmentation Parameters - // - // Detector size along x,z,y coordinates - virtual void SetDetSize(Float_t Dx, Float_t Dz, Float_t Dy); // Maximum number of pixels along the two coordinates virtual void SetNPads(Int_t p1, Int_t p2); // Returns the maximum number of cells (digits) posible - virtual Int_t GetNPads(){return fNpx*fNpz;} + virtual Int_t GetNPads() const {return fNpx*fNpz;} // Set Pixel Size Array in x and z, microns. virtual void SetBinSize(Float_t *x,Float_t *z); // Transform from real to pixel coordinates - virtual void GetPadIxz(Float_t x,Float_t z,Int_t &ix,Int_t &iz); + virtual void GetPadIxz(Float_t x,Float_t z,Int_t &ix,Int_t &iz) const; // Transform from pixel to real coordinates - virtual void GetPadCxz(Int_t ix,Int_t iz,Float_t &x,Float_t &z); - // Transform from real global to local coordinates - virtual void GetLocal(Int_t module,Float_t *g ,Float_t *l) {} + virtual void GetPadCxz(Int_t ix,Int_t iz,Float_t &x,Float_t &z) const; // Transform from real local to global coordinates - virtual void GetGlobal(Int_t module,Float_t *l ,Float_t *g) {} + //virtual void GetGlobal(Int_t module,Float_t *l ,Float_t *g) {} // Local transformation of real local coordinates - - virtual void GetPadTxz(Float_t &x ,Float_t &z); + virtual void GetPadTxz(Float_t &x ,Float_t &z) const; // Transformation from Geant cm detector center local coordinates // to detector segmentation/cell coordiantes starting from (0,0). - virtual void LocalToDet(Float_t x,Float_t z,Int_t &ix,Int_t &iz); + virtual void LocalToDet(Float_t x,Float_t z,Int_t &ix,Int_t &iz) const; // Transformation from detector segmentation/cell coordiantes starting // from (0,0) to Geant cm detector center local coordinates. - virtual void DetToLocal(Int_t ix,Int_t iz,Float_t &x,Float_t &z); + virtual void DetToLocal(Int_t ix,Int_t iz,Float_t &x,Float_t &z) const; + // Returns the Cell upper and lower boundries in x and y. cell indexes + // starting from (0,0) and return Geant cm detector centered local + // coordinates, consistant with DetToLocal and LocalToDet functions above. + virtual void CellBoundries(Int_t ix,Int_t iz,Double_t &xl,Double_t &xu, + Double_t &zl,Double_t &zu) const; // // Initialisation virtual void Init(); @@ -54,49 +53,41 @@ public AliITSsegmentation { // // Get member data // - // Detector Type geometry - virtual AliITSgeom* Geometry() {return fGeom;} - // Detector length - virtual Float_t Dx() {return fDx;} - // Detector width - virtual Float_t Dz() {return fDz;} - // Detector thickness - virtual Float_t Dy() {return fDy;} // Pixel size in x - virtual Float_t Dpx(Int_t ix); + virtual Float_t Dpx(Int_t ix) const; // Pixel size in z - virtual Float_t Dpz(Int_t iz); + virtual Float_t Dpz(Int_t iz) const; // Maximum number of Pixels in x - virtual Int_t Npx() {return fNpx;} + virtual Int_t Npx() const {return fNpx;} // Maximum number of Pixels in z - virtual Int_t Npz(){return fNpz;} + virtual Int_t Npz() const {return fNpz;} // // Get next neighbours virtual void Neighbours - (Int_t iX,Int_t iZ,Int_t* Nlist,Int_t Xlist[10],Int_t Zlist[10]); - - private: - Float_t ColFromZ300(Float_t z); - Float_t ZFromCol300(Int_t col); - Float_t ZpitchFromCol300(Int_t col); - Float_t ColFromZ(Float_t z); - Float_t ZFromCol(Int_t col); - Float_t ZpitchFromCol(Int_t col); + (Int_t iX,Int_t iZ,Int_t* Nlist,Int_t Xlist[10],Int_t Zlist[10]) const; + // Print default parameters (static const data members, if any) + virtual void PrintDefaultParameters() const + {Warning("PrintDefaultParameters","No def. parameters defined as const static data members\n");} - protected: + protected: + virtual void Copy(TObject &obj) const; Int_t fNpx; // Number of pixels in x Int_t fNpz; // Number of pixels in z - Float_t fDx; // Full width of the detector (x axis)- microns - Float_t fDz; // Full length of the detector (z axis)- microns - Float_t fDy; // Full thickness of the detector (y axis) -um Float_t fCellSizeX[256];// Size for each pixel in x -microns Float_t fCellSizeZ[280];// Size for each pixel in z -microns - TF1* fCorr; // correction function - AliITSgeom *fGeom; //! local pointer to AliITSgeom. - ClassDef(AliITSsegmentationSPD,1) //Segmentation class for SPD + private: + + Float_t ColFromZ300(Float_t z) const; + Float_t ZFromCol300(Int_t col) const; + Float_t ZpitchFromCol300(Int_t col) const; + Float_t ColFromZ(Float_t z) const; + Float_t ZFromCol(Int_t col) const; + Float_t ZpitchFromCol(Int_t col) const; + + ClassDef(AliITSsegmentationSPD,2) //Segmentation class for SPD };