]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSegmentationV0.cxx
Reconstruction for new coordenate system of alice. fSegmentMaxDistBending>0
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationV0.cxx
index 2b5d7c5c4c998a8f942f9835344f7e0ba302be82..1f44f23035a8ac2afcc55a8325971df4bef2ee0d 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-/*
-$Log$
-Revision 1.9  2000/11/06 09:20:43  morsch
-AliMUON delegates part of BuildGeometry() to AliMUONSegmentation using the
-Draw() method. This avoids code and parameter replication.
 
-Revision 1.8  2000/10/18 11:42:06  morsch
-- AliMUONRawCluster contains z-position.
-- Some clean-up of useless print statements during initialisations.
-
-Revision 1.7  2000/10/03 21:48:07  morsch
-Adopt to const declaration of some of the methods in AliSegmentation.
-
-Revision 1.6  2000/10/02 16:58:29  egangler
-Cleaning of the code :
--> coding conventions
--> void Streamers
--> some useless includes removed or replaced by "class" statement
-
-Revision 1.5  2000/07/13 16:19:44  fca
-Mainly coding conventions + some small bug fixes
-
-Revision 1.4  2000/07/03 11:54:57  morsch
-AliMUONSegmentation and AliMUONHitMap have been replaced by AliSegmentation and AliHitMap in STEER
-The methods GetPadIxy and GetPadXxy of AliMUONSegmentation have changed name to GetPadI and GetPadC.
-
-Revision 1.3  2000/06/29 12:34:09  morsch
-AliMUONSegmentation class has been made independent of AliMUONChamber. This makes
-it usable with any other geometry class. The link to the object to which it belongs is
-established via an index. This assumes that there exists a global geometry manager
-from which the pointer to the parent object can be obtained (in our case gAlice).
-
-Revision 1.2  2000/06/15 07:58:48  morsch
-Code from MUON-dev joined
-
-Revision 1.1.2.2  2000/06/12 07:57:23  morsch
-include TMath.h
-
-Revision 1.1.2.1  2000/06/09 21:30:33  morsch
-AliMUONSegmentationV0 code  from  AliMUONSegResV0.cxx
-
-*/
+/* $Id$ */
 
 #include "AliMUONSegmentationV0.h"
 #include "TArc.h"
@@ -63,9 +23,9 @@ AliMUONSegmentationV0 code  from  AliMUONSegResV0.cxx
 #include "AliMUON.h"
 
 ClassImp(AliMUONSegmentationV0)
-    AliMUONSegmentationV0::AliMUONSegmentationV0(const AliMUONSegmentationV0& segmentation)
+  AliMUONSegmentationV0::AliMUONSegmentationV0(const AliMUONSegmentationV0& segmentation):AliSegmentation(segmentation)
 {
-// Dummy copy constructor
+  // Dummy copy constructor
 }
 
     void AliMUONSegmentationV0::Init(Int_t  chamber)
@@ -94,7 +54,35 @@ Float_t AliMUONSegmentationV0::GetAnod(Float_t xhit) const
     Float_t wire= (xhit>0)? Int_t(xhit/fWireD)+0.5:Int_t(xhit/fWireD)-0.5;
     return fWireD*wire;
 }
+//____________________________________________________________________________
+void   AliMUONSegmentationV0::GetNParallelAndOffset(Int_t /*iX*/, Int_t /*iY*/, Int_t *Nparallel, Int_t *Offset) 
+{
+  *Nparallel=1;
+  *Offset=0;
+}
 
+
+//____________________________________________________________________________
+void   AliMUONSegmentationV0::GetPadI(Float_t x, Float_t y , Float_t /*z*/, Int_t &ix, Int_t &iy)  
+{
+  GetPadI(x, y, ix, iy);
+}
+//____________________________________________________________________________
+void   AliMUONSegmentationV0::SetCorrFunc(Int_t /*dum*/, TF1* func) 
+{
+  fCorr=func;
+}
+//____________________________________________________________________________
+Int_t   AliMUONSegmentationV0::Sector(Int_t /*ix*/, Int_t /*iy*/)  
+{
+  return 1;
+}
+//____________________________________________________________________________
+Int_t   AliMUONSegmentationV0::Sector(Float_t /*x*/, Float_t /*y*/)  
+{
+  return 1;
+}
+//____________________________________________________________________________
 void AliMUONSegmentationV0::SetPadSize(Float_t p1, Float_t p2)
 {
 //  Sets the padsize 
@@ -133,9 +121,8 @@ GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y)
     x = (ix>0) ? Float_t(ix*fDpx)-fDpx/2. : Float_t(ix*fDpx)+fDpx/2.;
     y = (iy>0) ? Float_t(iy*fDpy)-fDpy/2. : Float_t(iy*fDpy)+fDpy/2.;
 }
-
-void AliMUONSegmentationV0::
-SetHit(Float_t xhit, Float_t yhit)
+//______________________________________________________________________
+void AliMUONSegmentationV0::SetHit(Float_t xhit, Float_t yhit)
 {
     //
     // Sets virtual hit position, needed for evaluating pad response 
@@ -143,6 +130,13 @@ SetHit(Float_t xhit, Float_t yhit)
     fXhit=xhit;
     fYhit=yhit;
 }
+//_______________________________________________________________________
+void     AliMUONSegmentationV0::SetHit(Float_t xhit, Float_t yhit, Float_t /*zhit*/)
+{
+  SetHit(xhit, yhit);
+}
+//_______________________________________________________________________
+
 
 void AliMUONSegmentationV0::
 SetPad(Int_t ix, Int_t iy)
@@ -152,9 +146,8 @@ SetPad(Int_t ix, Int_t iy)
     // outside the tracking program 
     GetPadC(ix,iy,fX,fY);
 }
-
-void AliMUONSegmentationV0::
-FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy)
+//____________________________________________________________________________________
+void AliMUONSegmentationV0::FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy)
 {
 // Initialises iteration over pads for charge distribution algorithm
 //
@@ -179,6 +172,10 @@ FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy)
     fIy=fIymin;
     GetPadC(fIx,fIy,fX,fY);
 }
+//________________________________________________________________________
+void AliMUONSegmentationV0::FirstPad(Float_t xhit, Float_t yhit, Float_t /*zhit*/, Float_t dx, Float_t dy)
+       {FirstPad(xhit, yhit, dx, dy);}
+
 
 void AliMUONSegmentationV0::NextPad()
 {
@@ -214,7 +211,7 @@ Int_t AliMUONSegmentationV0::MorePads()
     }
 }
 
-void AliMUONSegmentationV0::SigGenInit(Float_t x,Float_t y,Float_t z)
+void AliMUONSegmentationV0::SigGenInit(Float_t x,Float_t y,Float_t /*z*/)
 {
 //
 //  Initialises pad and wire position during stepping
@@ -224,7 +221,7 @@ void AliMUONSegmentationV0::SigGenInit(Float_t x,Float_t y,Float_t z)
     fIwt= (x>0) ? Int_t(x/fWireD)+1 : Int_t(x/fWireD)-1 ;
 }
  
-Int_t AliMUONSegmentationV0::SigGenCond(Float_t x,Float_t y,Float_t z
+Int_t AliMUONSegmentationV0::SigGenCond(Float_t x,Float_t y,Float_t /*z*/
 {
 //  Signal generation condition during stepping 
 //  0: don't generate signal
@@ -278,7 +275,7 @@ Neighbours(Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10])
 }
 
 Float_t AliMUONSegmentationV0::Distance2AndOffset(Int_t iX, Int_t iY, Float_t X, Float_t Y
-, Int_t *dummy)
+                                                 , Int_t * /*dummy*/)
 {
 // Returns the square of the distance between 1 pad
 // labelled by its Channel numbers and a coordinate
@@ -315,7 +312,7 @@ void AliMUONSegmentationV0::Draw(const char *) const
     circle->Draw();
 }
 
-AliMUONSegmentationV0& AliMUONSegmentationV0::operator =(const AliMUONSegmentationV0 & rhs)
+AliMUONSegmentationV0& AliMUONSegmentationV0::operator =(const AliMUONSegmentationV0 & /*rhs*/)
 {
 // Dummy assignment operator
     return *this;