]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSegmentationSlatModule.cxx
Code revision:
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationSlatModule.cxx
index 8ea48b4c6fee1112bbc7e69bc9f3e6884c0f7f2c..7988c2cfab8a5904d9fffb51ec0411fd1eb89ce1 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.11  2001/11/28 16:34:01  morsch
-In DC, fNDiv, fDpxD set to 0.
-
-Revision 1.10  2001/05/16 14:57:17  alibrary
-New files for folders and Stack
-
-Revision 1.9  2001/01/26 21:25:48  morsch
-Empty default constructors and.
-
-Revision 1.8  2001/01/17 20:53:40  hristov
-Destructors corrected to avoid memory leaks
-
-Revision 1.7  2000/12/21 22:12:41  morsch
-Clean-up of coding rule violations,
-
-Revision 1.6  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.5  2000/10/26 19:32:04  morsch
-Problem with iteration over y-pads for 2nd cathode corrected.
-
-Revision 1.4  2000/10/25 19:56:55  morsch
-Handle correctly slats with less than 3 segmentation zones.
-
-Revision 1.3  2000/10/22 16:56:32  morsch
-- Store chamber number as slat id.
-
-Revision 1.2  2000/10/18 11:42:06  morsch
-- AliMUONRawCluster contains z-position.
-- Some clean-up of useless print statements during initialisations.
-
-Revision 1.1  2000/10/06 08:59:03  morsch
-Segmentation classes for bending and non bending plane slat modules (A. de Falco, A. Morsch)
-
-*/
+/* $Id$ */
 
 /////////////////////////////////////////////////////
 //  Segmentation classes for slat modules          //
 //  to be used with AluMUONSegmentationSlat        //
 /////////////////////////////////////////////////////
 
+#include <TArrayI.h>
+#include <TArrayF.h>
 
 #include "AliMUONSegmentationSlatModule.h"
-#include "AliRun.h"
-#include "AliMUON.h"
-#include <TMath.h>
-#include <Riostream.h>
-
-#include "AliMUONSegmentationV01.h"
 
 //___________________________________________
 ClassImp(AliMUONSegmentationSlatModule)
 
-AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule() 
+AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule()  
+  : AliMUONSegmentationV0()
 {
 // Default constructor
     fNDiv = 0;      
@@ -77,6 +37,7 @@ AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule()
 }
 
 AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule(Int_t nsec) 
+  : AliMUONSegmentationV0()
 {
 // Non default constructor
     fNsec = nsec;
@@ -86,6 +47,17 @@ AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule(Int_t nsec)
     (*fDpxD)[0]=(*fDpxD)[1]=(*fDpxD)[2]=(*fDpxD)[3]=0;     
 }
 
+//----------------------------------------------------------------------
+AliMUONSegmentationSlatModule::AliMUONSegmentationSlatModule(
+                                  const AliMUONSegmentationSlatModule& rhs)
+  :  AliMUONSegmentationV0(rhs) 
+{
+// Protected copy constructor
+
+  Fatal("AliMUONSegmentationSlatModule", "Not implemented.");
+}
+
+
 AliMUONSegmentationSlatModule::~AliMUONSegmentationSlatModule() 
 {
 // Destructor
@@ -93,6 +65,20 @@ AliMUONSegmentationSlatModule::~AliMUONSegmentationSlatModule()
     if (fDpxD) delete fDpxD;
 }
 
+//----------------------------------------------------------------------
+AliMUONSegmentationSlatModule& 
+AliMUONSegmentationSlatModule::operator=(        
+                                 const AliMUONSegmentationSlatModule& rhs)
+{
+// Protected assignement operator
+
+  if (this == &rhs) return *this;
+
+  Fatal("operator=", "Not implemented.");
+    
+  return *this;  
+}    
+          
 void AliMUONSegmentationSlatModule::SetPcbBoards(Int_t n[4])
 {
 //
@@ -121,7 +107,7 @@ Float_t AliMUONSegmentationSlatModule::Dpx(Int_t isec) const
 } 
 
 
-Float_t AliMUONSegmentationSlatModule::Dpy(Int_t isec) const
+Float_t AliMUONSegmentationSlatModule::Dpy(Int_t /*isec*/) const
 {
 // Return y-strip width
 
@@ -177,7 +163,12 @@ GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y)
        x=y=0;
     }
 }
-
+//-------------------------------------------------------------------------
+void AliMUONSegmentationSlatModule::GetPadI(Float_t x, Float_t y , Float_t /*z*/, Int_t &ix, Int_t &iy)
+{
+  GetPadI(x, y, ix, iy);
+}
+//-------------------------------------------------------------------------
 void AliMUONSegmentationSlatModule::
 SetPad(Int_t ix, Int_t iy)
 {
@@ -204,8 +195,12 @@ SetHit(Float_t x, Float_t y)
 
     
 }
-
-
+//----------------------------------------------------------
+void AliMUONSegmentationSlatModule::SetHit(Float_t xhit, Float_t yhit, Float_t /*zhit*/)
+{
+  SetHit(xhit, yhit);
+}
+//----------------------------------------------------------
 void AliMUONSegmentationSlatModule::
 FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy)
 {
@@ -269,7 +264,12 @@ FirstPad(Float_t xhit, Float_t yhit, Float_t dx, Float_t dy)
           fIymin, fIymax, fYmin, fYmax,  fNpyS[isec], fId, isec, Dpy(isec));
 */
 }
-
+//----------------------------------------------------------------------
+void AliMUONSegmentationSlatModule::FirstPad(Float_t xhit, Float_t yhit, Float_t /*zhit*/, Float_t dx, Float_t dy)
+{
+  FirstPad(xhit, yhit, dx, dy);
+}
+//----------------------------------------------------------------------
 void AliMUONSegmentationSlatModule::NextPad()
 {
 // Stepper for the iteration over pads