]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSsegmentationSPD.h
fix in calling of gaussian spread function
[u/mrichter/AliRoot.git] / ITS / AliITSsegmentationSPD.h
index f1c69a18055baa2c99117a4605c0eab9d5d35eee..7a8e3ff6aa1896cdc720be27af30d7317a2f78d4 100644 (file)
@@ -4,7 +4,6 @@
 #include "AliITSsegmentation.h"
 
 
-class AliITSgeom;
 
 // segmentation and response for SPD 
 
@@ -12,8 +11,7 @@ class AliITSsegmentationSPD :
 public AliITSsegmentation {
  public:
 
-    AliITSsegmentationSPD();
-    AliITSsegmentationSPD(AliITSgeom *gm);
+    AliITSsegmentationSPD(Option_t *opt="" );
     AliITSsegmentationSPD(const AliITSsegmentationSPD &source);
     virtual ~AliITSsegmentationSPD(){}
     AliITSsegmentationSPD& operator=(const AliITSsegmentationSPD &source);
@@ -31,13 +29,11 @@ public AliITSsegmentation {
     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) const;
-    // Transform from real local to global coordinates
-    //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) 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) const;
+    virtual Bool_t  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) const;
@@ -47,6 +43,14 @@ public AliITSsegmentation {
     virtual void CellBoundries(Int_t ix,Int_t iz,Double_t &xl,Double_t &xu,
                               Double_t &zl,Double_t &zu) const;
     //
+    virtual Int_t    GetNumberOfChips() const {return fgkNchipsPerModule;}
+    virtual Int_t    GetMaximumChipIndex() const {return fgkNchipsPerModule-1;}
+    
+    virtual Int_t    GetChipFromLocal(Float_t, Float_t zloc) const;
+    virtual Int_t    GetChipsInLocalWindow(Int_t* array, Float_t zmin, Float_t zmax, Float_t, Float_t) const;
+
+    virtual Int_t    GetChipFromChannel(Int_t, Int_t iz) const;
+    //
     // Initialisation
     virtual void Init();
     virtual void Init300();
@@ -68,7 +72,7 @@ public AliITSsegmentation {
        (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");}
+            {AliWarning("No def. parameters defined as const static data members");}
     
  protected:
 
@@ -77,17 +81,19 @@ public AliITSsegmentation {
     Int_t   fNpz;           // Number of pixels in z
     Float_t fCellSizeX[256];// Size for each pixel in x -microns
     Float_t fCellSizeZ[280];// Size for each pixel in z -microns
+    static const Int_t fgkNchipsPerModule;    //number of chips per ladder (5)
+    static const Int_t fgkNcolumnsPerChip;    //number of columns per chip (32)
 
  private:
 
     Float_t ColFromZ300(Float_t z) const;
     Float_t ZFromCol300(Int_t col) const;
-    Float_t ZpitchFromCol300(Int_t col) const;
+    Float_t Zpitch300() 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 
+  ClassDef(AliITSsegmentationSPD,3) //Segmentation class for SPD 
 
 };