X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSsegmentationSPD.h;h=020f6b64423c6b020db6e98a2be162062ae7930f;hb=87f5f9fa1024ea974fc88425a0be9be69ca1abf6;hp=bd197bc6e1aabf89847a6529ef058233b93e50a6;hpb=7c0e9d1f25a43863fedde46a792f8438310cfc9c;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSsegmentationSPD.h b/ITS/AliITSsegmentationSPD.h index bd197bc6e1a..020f6b64423 100644 --- a/ITS/AliITSsegmentationSPD.h +++ b/ITS/AliITSsegmentationSPD.h @@ -3,6 +3,10 @@ #include "AliITSsegmentation.h" +#include + +class AliITSgeom; + // segmentation and response for SPD class AliITSsegmentationSPD : @@ -22,19 +26,32 @@ public AliITSsegmentation { // 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;} + // 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); // Transform from pixel to real coordinates - virtual void GetPadCxz - (Int_t ix,Int_t iz,Float_t &x,Float_t &z); + 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 GetLocal(Int_t module,Float_t *g ,Float_t *l) {} // 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); + // 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); + // 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); + // 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); // // Initialisation virtual void Init(); @@ -60,10 +77,18 @@ public AliITSsegmentation { // Maximum number of Pixels in z virtual Int_t Npz(){return fNpz;} // - // Get next neighbours + // 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); + protected: Int_t fNpx; // Number of pixels in x