Code from MUON-dev joined
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationV02.cxx
similarity index 60%
rename from MUON/AliMUONSegResV02.cxx
rename to MUON/AliMUONSegmentationV02.cxx
index 1c34c51..d21ebc7 100644 (file)
 
 /*
 $Log$
+Revision 1.1.2.1  2000/06/09 21:37:56  morsch
+AliMUONSegmentationV02 code  from  AliMUONSegResV02.cxx
+
 */
 
+
+
 /////////////////////////////////////////////////////
 //  Segmentation and Response classes version 02   //
 /////////////////////////////////////////////////////
 
-#include <TTUBE.h>
-#include <TNode.h> 
-#include <TRandom.h> 
-#include "AliMUONSegResV02.h"
-#include "AliRun.h"
-#include "AliMC.h"
+
+#include "AliMUONSegmentationV02.h"
 #include "iostream.h"
 
 //___________________________________________
-ClassImp(AliMUONsegmentationV02)
+ClassImp(AliMUONSegmentationV02)
 
-void AliMUONsegmentationV02::SetPADSIZ(Float_t p1, Float_t p2)
+void AliMUONSegmentationV02::SetPadSize(Float_t p1, Float_t p2)
 {
+//  Sets the padsize 
+//
     fDpy=p1;
     fDpx=p2;
 }
 
-Int_t AliMUONsegmentationV02::Npx()
-{return AliMUONsegmentationV01::Npy();}
+Int_t AliMUONSegmentationV02::Npx()
+// Returns maximum number if pads in x
+{return AliMUONSegmentationV01::Npy();}
 
-Int_t AliMUONsegmentationV02::Npy()
-{return AliMUONsegmentationV01::Npx();}
+Int_t AliMUONSegmentationV02::Npy()
+// Returns maximum number if pads in y
+{return AliMUONSegmentationV01::Npx();}
 
 
-Float_t AliMUONsegmentationV02::Dpx(Int_t)
+Float_t AliMUONSegmentationV02::Dpx(Int_t isec)
+// Returns pad-size in x
 {return fDpy;}
 
-Float_t AliMUONsegmentationV02::Dpy(Int_t isec)
+Float_t AliMUONSegmentationV02::Dpy(Int_t isec)
+// Returns pad-size in y
 {return fDpxD[isec];}
+Int_t AliMUONSegmentationV02::Sector(Int_t ix, Int_t iy)
+// Returns sector number for given pad position
+//
+{return AliMUONSegmentationV01::Sector(iy, ix);}
 
-Int_t AliMUONsegmentationV02::Sector(Int_t ix, Int_t iy)
-{return AliMUONsegmentationV01::Sector(iy, ix);}
+void AliMUONSegmentationV02::
 
-void AliMUONsegmentationV02::
 GetPadIxy(Float_t x, Float_t y, Int_t &ix, Int_t &iy)
+//  Returns pad coordinates (ix,iy) for given real coordinates (x,y)
+//
 {
-AliMUONsegmentationV01::GetPadIxy(y, x, iy, ix);
+AliMUONSegmentationV01::GetPadIxy(y, x, iy, ix);
 // printf("\n x,y,ix,iy %f %f %d %d", x,y,ix,iy);
 }
 
-void AliMUONsegmentationV02::
+void AliMUONSegmentationV02::
 GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y)
+//  Returns real coordinates (x,y) for given pad coordinates (ix,iy)
+//
 {
-    AliMUONsegmentationV01::GetPadCxy(iy, ix, y, x);
-//    printf("\n ix,iy,x,y %d %d %f %f ", ix,iy,x,y);
+    AliMUONSegmentationV01::GetPadCxy(iy, ix, y, x);
 }
-void    AliMUONsegmentationV02::SetPad(Int_t ix,Int_t iy)
+void AliMUONSegmentationV02::SetPad(Int_t ix,Int_t iy)
 {
+    //
+    // Sets virtual pad coordinates, needed for evaluating pad response 
+    // outside the tracking program 
     GetPadCxy(ix,iy,fx,fy);
     fSector=Sector(ix,iy);    
 }
 
 
 
-void AliMUONsegmentationV02::NextPad()
+void AliMUONSegmentationV02::NextPad()
 {
+// Stepper for the iteration over pads
+//
   // 
   // Step to next pad in integration region
     Float_t xc,yc;
@@ -100,14 +117,15 @@ void AliMUONsegmentationV02::NextPad()
     GetPadCxy(fix,fiy,fx,fy);
     fSector=Sector(fix,fiy);
     if (MorePads() && 
-       (fSector ==-1 || fSector==0 || 
-        TMath::Abs(fx)<1.5 || TMath::Abs(fy)<1.5)) 
+       (fSector ==-1 || fSector==0 )) 
        NextPad();
 //    printf("\n this pad %f %f %d %d \n",fx,fy,fix,fiy);
     
 }
 
-Int_t AliMUONsegmentationV02::MorePads()
+Int_t AliMUONSegmentationV02::MorePads()
+// Stopping condition for the iterator over pads
+//
 //
 // Are there more pads in the integration region
 {
@@ -118,12 +136,16 @@ Int_t AliMUONsegmentationV02::MorePads()
     }
 }
 
-void AliMUONsegmentationV02::
+void AliMUONSegmentationV02::
 Neighbours(Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10])
 {
-    Int_t N;
-    AliMUONsegmentationV01::Neighbours(iY, iX, &N, Ylist, Xlist);
-    *Nlist=N;
+// Returns list of next neighbours for given Pad (iX, iY)
+//
+    Int_t n;
+    AliMUONSegmentationV01::Neighbours(iY, iX, &n, Ylist, Xlist);
+    *Nlist=n;
 }
 
 
+
+