]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSsegmentation.h
New analysis modules
[u/mrichter/AliRoot.git] / ITS / AliITSsegmentation.h
index 76eadb9e995ccdea2abf52a530ff63dda746c577..def0ffcfe71fbd6969e387c140244e5ae5835e28 100644 (file)
@@ -5,16 +5,18 @@
 #include "AliLog.h"
 #include "AliITSgeom.h"
 
-class TF1;
+/* $Id$ */
+
+//----------------------------------------------
+//                                             -
+// ITS  segmentation virtual base class        -
+//                                             -
 //----------------------------------------------
-//
-// ITS  segmentation virtual base class
-//
+class TF1;
 class AliITSsegmentation :
 public TObject {
  public:
   AliITSsegmentation();
-  AliITSsegmentation(AliITSgeom *geom);
   AliITSsegmentation(const AliITSsegmentation& source);
   virtual ~AliITSsegmentation();
   AliITSsegmentation& operator=(const AliITSsegmentation &source);
@@ -31,26 +33,19 @@ public TObject {
     virtual Int_t   GetNPads() const = 0;
     // Set layer
     virtual void SetLayer(Int_t) {MayNotUse("SetLayer");}
+    // Number of Chips
+    virtual Int_t    GetNumberOfChips() const {MayNotUse("GetNumberOfChips"); return 0;}
+    virtual Int_t    GetMaximumChipIndex() const {MayNotUse("GetNumberOfChips"); return 0;}
+    // Chip number from local coordinates
+    virtual Int_t    GetChipFromLocal(Float_t, Float_t) const {MayNotUse("GetChipFromLocal"); return 0;}
+    virtual Int_t    GetChipsInLocalWindow(Int_t* /*array*/, Float_t /*zmin*/, Float_t /*zmax*/, Float_t /*xmin*/, Float_t /*xmax*/) const {MayNotUse("GetChipsInLocalWindow"); return 0;}
+    // Chip number from channel number
+    virtual Int_t    GetChipFromChannel(Int_t, Int_t) const {MayNotUse("GetChipFromChannel"); return 0;}
+
     // Transform from real to cell coordinates
     virtual void    GetPadIxz(Float_t,Float_t,Int_t &,Int_t &) const = 0;
     // Transform from cell to real coordinates
     virtual void    GetPadCxz(Int_t,Int_t,Float_t &,Float_t &) const = 0;
-
-    // Transform from real global to local coordinates
-    void GetLocal(Int_t module,Float_t *g ,Float_t *l) const {
-      if(!fGeom) {
-       AliFatal("Pointer to ITS geometry class (AliITSgeom) is null\n");
-        return;
-      }
-      fGeom->GtoL(module,g,l);      
-    }
-    // Transform from real local to global coordinates
-    void GetGlobal(Int_t module,Float_t *l ,Float_t *g) const {
-      if(!fGeom) {
-       AliFatal("Pointer to ITS geometry class (AliITSgeom) is null\n");
-      }
-      fGeom->LtoG(module,l,g);
-    }
     // Local transformation of real local coordinates -
     virtual void    GetPadTxz(Float_t &,Float_t &) const = 0;
     // Transformation from Geant cm detector center local coordinates
@@ -64,8 +59,6 @@ public TObject {
     //
     // Get member data
     //
-    // Detector type geometry
-    virtual AliITSgeom* Geometry() const {return fGeom;}
     // Detector length
     virtual Float_t Dx() const {return fDx;}
     // Detector width
@@ -109,12 +102,11 @@ public TObject {
                     //SDD: Drift distance of the 1/2detector (x axis)-microns
                     //SSD: Full length of the detector (x axis)- microns
     Float_t fDz;    //SPD: Full length of the detector (z axis)- microns
-                    //SDD: Length of half-detector (z axis) - microns
+                    //SDD: Full Length of the detector (z axis) - microns
                     //SSD: Full width of the detector (z axis)- microns
     Float_t fDy;    //SPD:  Full thickness of the detector (y axis) -um 
                     //SDD: Full thickness of the detector (y axis) - microns
                     //SSD: Full thickness of the detector (y axis) -um 
-    AliITSgeom *fGeom;  //! pointer to the geometry class
     TF1*       fCorr;   // correction function
 
     ClassDef(AliITSsegmentation,2) //Segmentation virtual base class