Change of argument list of methods GetPadCxy, GetPadIxy, SetHit and FirstPad
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Jun 2000 15:08:37 +0000 (15:08 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Jun 2000 15:08:37 +0000 (15:08 +0000)
to allow passing of 3-dim hit coordinates needed for segmentations with overlapping
modules (slats).
Existing implementations overload this methods inline.

MUON/AliMUONSegmentation.h
MUON/AliMUONSegmentationTrigger.h
MUON/AliMUONSegmentationTriggerX.h
MUON/AliMUONSegmentationTriggerY.h
MUON/AliMUONSegmentationV0.h
MUON/AliMUONSegmentationV01.h
MUON/AliMUONSegmentationV02.h
MUON/AliMUONSegmentationV1.h

index 8f7bb53..cf19387 100644 (file)
@@ -21,7 +21,7 @@ public TObject {
     // Set Chamber Segmentation Parameters
     //
     // Pad size Dx*Dy 
-    virtual void    SetPadSize(Float_t p1, Float_t p2)  =0;
+    virtual void    SetPadSize(Float_t p1, Float_t p2) =0;
     // Anod Pitch
     virtual void    SetDAnod(Float_t D)                =0;
     // Transform from pad (wire) to real coordinates and vice versa
@@ -29,36 +29,36 @@ public TObject {
     // Anod wire coordinate closest to xhit
     virtual Float_t GetAnod(Float_t xhit)              =0;
     // Transform from pad to real coordinates
-    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy)=0;
+    virtual void    GetPadIxy(Float_t x, Float_t y, Float_t  z, Int_t   &ix, Int_t  &iy) =0;
     // Transform from real to pad coordinates
-    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y )=0;
+    virtual void    GetPadCxy(Int_t  ix, Int_t  iy, Float_t &x, Float_t  &y, Float_t &z) =0;
     //
     // Initialisation
-    virtual void Init(AliMUONChamber*)                 =0;
+    virtual void Init(AliMUONChamber*)                           =0;
     //
     // Get member data
     //
     // Pad size in x
-    virtual Float_t Dpx()                              =0;
+    virtual Float_t Dpx()                                        =0;
     // Pad size in y 
-    virtual Float_t Dpy()                              =0;
+    virtual Float_t Dpy()                                        =0;
     // Pad size in x by Sector 
-    virtual Float_t Dpx(Int_t)                         =0;
+    virtual Float_t Dpx(Int_t)                                   =0;
     // Pad size in y by Sector 
-    virtual Float_t Dpy(Int_t)                         =0;
+    virtual Float_t Dpy(Int_t)                                   =0;
     // Maximum number of Pads in x
-    virtual Int_t    Npx()                             =0;
+    virtual Int_t    Npx()                                       =0;
     // Maximum number of Pads in y
-    virtual Int_t    Npy()                             =0;
+    virtual Int_t    Npy()                                       =0;
     // Set pad position
-    virtual void     SetPad(Int_t, Int_t)              =0;
+    virtual void     SetPad(Int_t, Int_t)                        =0;
     // Set hit position
-    virtual void     SetHit(Float_t, Float_t)          =0;
+    virtual void     SetHit(Float_t, Float_t, Float_t )          =0;
     
     //
     // Iterate over pads
     // Initialiser
-    virtual void  FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy) =0;
+    virtual void  FirstPad(Float_t xhit, Float_t yhit, Float_t zhit, Float_t dx, Float_t dy) =0;
     // Stepper
     virtual void  NextPad()                            =0;
     // Condition
index 0c95299..8301356 100644 (file)
@@ -23,6 +23,8 @@ public AliMUONSegmentationV0 {
   //       virtual void     SetPad(Int_t, Int_t);
   // 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);}
   
   ClassDef(AliMUONSegmentationTrigger,1) //Segmentation class for trigger
     protected:
index 08a3d09..23af173 100644 (file)
@@ -19,9 +19,13 @@ public AliMUONSegmentationTrigger {
   AliMUONSegmentationTriggerX(){}
   virtual ~AliMUONSegmentationTriggerX(){}
   // Transform from pad to real coordinates
-  virtual void    GetPadIxy(Float_t x,Float_t y,Int_t &ix,Int_t &iy);
+  virtual void    GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy);
+  virtual void    GetPadIxy(Float_t x, Float_t y, Float_t z, Int_t &ix, Int_t &iy)
+      {GetPadIxy(x, y, ix, iy);}
   // Transform from real to pad coordinates
-  virtual void    GetPadCxy(Int_t ix,Int_t iy,Float_t &x,Float_t &y);
+  virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
+  virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+      {z=0; GetPadCxy(ix, iy, x , y);}
   // Pad size Dx*Dy 
   virtual void SetPadSize(Float_t dp1, Float_t dp2);
   // Strip size 
@@ -31,6 +35,8 @@ public AliMUONSegmentationTrigger {
   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);}
   // Current integration parameters
   virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& width);
   // Current Pad during Integration
index 294590b..1fbfae1 100644 (file)
@@ -20,8 +20,12 @@ public AliMUONSegmentationTrigger {
   virtual ~AliMUONSegmentationTriggerY(){}
   // Transform from pad to real coordinates
   virtual void    GetPadIxy(Float_t x,Float_t y,Int_t &ix,Int_t &iy);
+  virtual void    GetPadIxy(Float_t x, Float_t y, Float_t z, Int_t &ix, Int_t &iy)
+      {GetPadIxy(x, y, ix, iy);}
   // Transform from real to pad coordinates
   virtual void    GetPadCxy(Int_t ix,Int_t iy,Float_t &x,Float_t &y);
+  virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+      {z=0; GetPadCxy(ix, iy, x , y);}
   // Pad size Dx*Dy 
   virtual void SetPadSize(Float_t dp1, Float_t dp2);
   // Strip size by Module
@@ -31,6 +35,8 @@ public AliMUONSegmentationTrigger {
   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);}
   // Current integration parameters
   virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& width);
   // Current Pad during Integration
index 7277c85..86c40e7 100644 (file)
@@ -30,9 +30,13 @@ public AliMUONSegmentation {
     // Anod wire coordinate closest to xhit
     virtual Float_t GetAnod(Float_t xhit);
     // Transform from pad to real coordinates
-    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);
+    virtual void    GetPadIxy(Float_t x, Float_t y , Int_t &ix, Int_t &iy);
+    virtual void    GetPadIxy(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
+       {GetPadIxy(x, y, ix, iy);}
     // Transform from real to pad coordinates
-    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+       {z=0; GetPadCxy(ix, iy, x , y);}
     //
     // Initialisation
     virtual void Init(AliMUONChamber* chamber);
@@ -55,10 +59,14 @@ public AliMUONSegmentation {
     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);}
     //
     // 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);}
     // Stepper
     virtual void  NextPad();
     // Condition
index e63ce2e..1825c85 100644 (file)
@@ -37,9 +37,13 @@ public AliMUONSegmentationV0 {
     // Transform from pad (wire) to real coordinates and vice versa
     //
     // Transform from pad to real coordinates
-    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);
+    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t &iy);
+    virtual void    GetPadIxy(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
+       {GetPadIxy(x, y, ix, iy);}
     // Transform from real to pad coordinates
-    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );    
+    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+       {z=0; GetPadCxy(ix, iy, x , y);}
     //
     // Initialisation
     virtual void Init(AliMUONChamber* chamber);
@@ -58,6 +62,8 @@ public AliMUONSegmentationV0 {
     // 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);}
     // Stepper
     virtual void  NextPad();
     // Condition
index 2ec2b18..7d8b267 100644 (file)
@@ -39,9 +39,13 @@ public AliMUONSegmentationV01 {
     //
     // Transform from pad (wire) to real coordinates and vice versa
     // Transform from pad to real coordinates
-    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x ,Float_t &y );
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+       {z=0; GetPadCxy(ix, iy, x , y);}
     // Transform from pad to real coordinates
-    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);
+    virtual void    GetPadIxy(Float_t x ,Float_t y , Int_t &ix, Int_t &iy);
+    virtual void    GetPadIxy(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
+       {GetPadIxy(x, y, ix, iy);}
     // Set pad position
     virtual void    SetPad(Int_t ix,Int_t iy);
     // Stepper
index fdf9289..4af987d 100644 (file)
@@ -60,19 +60,27 @@ public AliMUONSegmentation {
     // Anod wire coordinate closest to xhit
     virtual Float_t GetAnod(Float_t xhit);
     // Transform from pad to real coordinates
-    virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);
+    virtual void    GetPadIxy(Float_t x ,Float_t y , Int_t &ix, Int_t &iy);
+    virtual void    GetPadIxy(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
+       {GetPadIxy(x, y, ix, iy);}
     // Transform from real to pad coordinates
-    virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
+    virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
+       {z=0; GetPadCxy(ix, iy, x , y);}
     // Set pad position
     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);}
     //
     // Iterate over pads
     // Set Pad coordinates
     virtual void SetPadCoord(Int_t iX, Int_t iY);
     // 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);}
     // Stepper
     virtual void  NextPad();
     // Condition