]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSegmentationV0.h
Compiler warning removed
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationV0.h
index 8e1ac07a11cea4c1cb503a17b3b77202f844cb5c..517338e55a460e0d86c523fbd250974efa283491 100644 (file)
@@ -7,7 +7,8 @@
 
 #include "AliSegmentation.h"
 
-#include "TF1.h"
+class AliMUONChamber;
+class TF1;
 
 //----------------------------------------------
 //
@@ -16,7 +17,7 @@
 class AliMUONSegmentationV0 :
 public AliSegmentation {
  public:
-    AliMUONSegmentationV0(){}
+    AliMUONSegmentationV0(){fCorr=0;fChamber=0;}
     AliMUONSegmentationV0(const AliMUONSegmentationV0 & segmentation);
     
     virtual ~AliMUONSegmentationV0(){}
@@ -29,15 +30,14 @@ public AliSegmentation {
     // Transform from pad (wire) to real coordinates and vice versa
     //
     // Anod wire coordinate closest to xhit
-    virtual Float_t GetAnod(Float_t xhit);
+    virtual Float_t GetAnod(Float_t xhit) const;
     // Transform from pad to real coordinates
-    virtual void    GetPadI(Float_t x, Float_t y , Int_t &ix, Int_t &iy);
-    virtual void    GetPadI(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
-       {GetPadI(x, y, ix, iy);}
+    virtual void    GetPadI(Float_t x, Float_t y , Int_t &ix, Int_t &iy) ;
+    virtual void    GetPadI(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) ;
     // Transform from real to pad coordinates
-    virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
-    virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
-       {z=0; GetPadC(ix, iy, x , y);}
+    virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y) ;
+    virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) 
+       {z=fZ; GetPadC(ix, iy, x , y);}
     //
     // Initialisation
     virtual void Init(Int_t chamber);
@@ -60,14 +60,11 @@ public AliSegmentation {
     virtual void     SetPad(Int_t ix, Int_t iy);
     // Set hit position
     virtual void     SetHit(Float_t xhit, Float_t yhit);
-    virtual void     SetHit(Float_t xhit, Float_t yhit, Float_t zhit)
-       {SetHit(xhit, yhit);}
-    //
+    virtual void     SetHit(Float_t xhit, Float_t yhit, Float_t zhit);
     // Iterate over pads
     // Initialiser
     virtual void  FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy);
-    virtual void  FirstPad(Float_t xhit, Float_t yhit, Float_t zhit, Float_t dx, Float_t dy)
-       {FirstPad(xhit, yhit, dx, dy);}
+    virtual void  FirstPad(Float_t xhit, Float_t yhit, Float_t zhit, Float_t dx, Float_t dy);
     // Stepper
     virtual void  NextPad();
     // Condition
@@ -78,38 +75,38 @@ public AliSegmentation {
 dummy);
     // Number of pads read in parallel and offset to add to x 
     // (specific to LYON, but mandatory for display)
-    virtual void GetNParallelAndOffset(Int_t iX, Int_t iY,
-        Int_t *Nparallel, Int_t *Offset) {*Nparallel=1;*Offset=0;}
+    virtual void GetNParallelAndOffset(Int_t iX, Int_t iY, Int_t *Nparallel, Int_t *Offset);
     // Get next neighbours 
     virtual void Neighbours
-       (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]);
+       (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]) ;
     //
     // Current Pad during Integration
     // x-coordinaten
-    virtual Int_t  Ix() const {return fIx;}
+    virtual Int_t  Ix() {return fIx;}
     // y-coordinate
-    virtual Int_t  Iy() const {return fIy;}
+    virtual Int_t  Iy() {return fIy;}
     // current sector
-    virtual Int_t  ISector() const {return 1;}
+    virtual Int_t  ISector() {return 1;}
     // calculate sector from pad coordinates
-    virtual Int_t  Sector(Int_t ix, Int_t iy) const {return 1;}
+    virtual Int_t  Sector(Int_t ix, Int_t iy);
+    virtual Int_t  Sector(Float_t x, Float_t y);
     //
     // Signal Generation Condition during Stepping
-    virtual Int_t SigGenCond(Float_t x, Float_t y, Float_t z);
+    virtual Int_t SigGenCond(Float_t x, Float_t y, Float_t z) ;
     // Initialise signal gneration at coord (x,y,z)
     virtual void  SigGenInit(Float_t x, Float_t y, Float_t z);
     // Current integration limits
     virtual void IntegrationLimits
        (Float_t& x1, Float_t& x2, Float_t& y1, Float_t& y2);
     // Test points for auto calibration
-    virtual void GiveTestPoints(Int_t &n, Float_t *x, Float_t *y);
+    virtual void GiveTestPoints(Int_t &n, Float_t *x, Float_t *y) const;
     // Draw segmentation zones
-    virtual void Draw(const char *opt="");
+    virtual void Draw(const char *opt="") const;
     // Function for systematic corrections
     // Set the correction function
-    virtual void SetCorrFunc(Int_t dum, TF1* func) {fCorr=func;}
+    virtual void SetCorrFunc(Int_t dum, TF1* func);
     // Get the correction Function
-    virtual TF1* CorrFunc(Int_t) {return fCorr;}
+    virtual TF1* CorrFunc(Int_t) const {return fCorr;}
     // assignment operator
     AliMUONSegmentationV0& operator=(const AliMUONSegmentationV0& rhs);
     
@@ -132,29 +129,33 @@ dummy);
     
     
     // Chamber region consideres during disintegration   
-    Int_t fIxmin; // lower left  x
-    Int_t fIxmax; // lower left  y
-    Int_t fIymin; // upper right x
-    Int_t fIymax; // upper right y 
+    Int_t fIxmin; // lower left  x
+    Int_t fIxmax; // lower left  y
+    Int_t fIymin; // upper right x
+    Int_t fIymax; // upper right y 
     //
     // Current pad during integration (cursor for disintegration)
-    Int_t fIx;  // pad coord.  x 
-    Int_t fIy;  // pad coord.  y 
-    Float_t fX; // real coord. x
-    Float_t fY; // real ccord. y
+    Int_t fIx;  // pad coord.  x 
+    Int_t fIy;  // pad coord.  y 
+    Float_t fX; // real coord. x
+    Float_t fY; // real ccord. y
     //
     // Current pad and wire during tracking (cursor at hit centre)
     //
     //
-    Float_t fXhit;  // x-position of hit
-    Float_t fYhit;  // y-position of hit
+    Float_t fXhit;  // x-position of hit
+    Float_t fYhit;  // y-position of hit
     // Reference point to define signal generation condition
-    Int_t fIxt;     // pad coord. x
-    Int_t fIyt;     // pad coord. y
-    Int_t fIwt;     // wire number
-    Float_t fXt;    // x
-    Float_t fYt;    // y
-    TF1*    fCorr;  // correction function
+    Int_t fIxt;     // ! pad coord. x
+    Int_t fIyt;     // ! pad coord. y
+    Int_t fIwt;     // ! wire number
+    Float_t fXt;    // ! x
+    Float_t fYt;    // ! y
+    TF1*    fCorr;  // ! correction function
+    //
+    AliMUONChamber* fChamber; // ! Reference to mother chamber
+    Int_t fId;                // Identifier
+    Float_t fZ;               // z-position of chamber
 };
 #endif