]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONChamber.h
Changes needed on Sun with Root v4-03-04
[u/mrichter/AliRoot.git] / MUON / AliMUONChamber.h
index dc48ffad8ca9fca0e5da07dbc218587b9b5a23e3..70f61d61b6ceabc3dd648b72bc6146858c3b020b 100644 (file)
 
 #include "AliSegmentation.h"
 #include "AliMUONResponse.h"
+#include "AliMUONGeometrySegmentation.h"
 
 class AliMUONClusterFinderVS;
-class AliMUONChamberGeometry;
+class AliMUONGeometryModule;
+class AliMUON;
+class AliMUONHit;
+
 
 class AliMUONChamber : public TObject
 {
@@ -32,6 +36,7 @@ class AliMUONChamber : public TObject
   
 // Initialisation
   virtual void    Init();
+  virtual void    Init(Int_t flag);
 // Set z-position of chamber  
   virtual void    SetZ(Float_t Z) {fZ = Z;}
 // Get z-position of chamber  
@@ -50,12 +55,11 @@ class AliMUONChamber : public TObject
   virtual void    SetResponseModel(AliMUONResponse* thisResponse) {fResponse=thisResponse;}
 //  
 // Set segmentation model
-  virtual void    SetSegmentationModel(Int_t i, AliSegmentation* thisSegmentation) {
-      fSegmentation->AddAt(thisSegmentation,i-1);
+  virtual void    SetSegmentationModel(Int_t isec, AliSegmentation* thisSegmentation) {
+      fSegmentation->AddAt(thisSegmentation,isec-1);
   }
-// Set Cluster reconstruction model  
-  virtual void    SetReconstructionModel(AliMUONClusterFinderVS *thisReconstruction) {
-      fReconstruction = thisReconstruction;
+  virtual void    SetSegmentationModel(Int_t isec, AliMUONGeometrySegmentation* thissegmentation) {
+      fSegmentation2->AddAt(thissegmentation,isec-1);
   }
 //  
 //  Get pointer to response model
@@ -66,8 +70,11 @@ class AliMUONChamber : public TObject
       return (AliSegmentation *) (*fSegmentation)[isec-1];
   }
   virtual TObjArray* ChamberSegmentation() {return fSegmentation;}
-//  Get pointer to cluster reconstruction model
-  virtual AliMUONClusterFinderVS* &ReconstructionModel(){return fReconstruction;}
+
+  virtual AliMUONGeometrySegmentation*  SegmentationModel2(Int_t isec) {
+      return (AliMUONGeometrySegmentation*) (*fSegmentation2)[isec-1];
+  }
+
 // Get number of segmentation sectors  
   virtual Int_t Nsec() const        {return fnsec;}
 // Set number of segmented cathodes (1 or 2)  
@@ -80,9 +87,11 @@ class AliMUONChamber : public TObject
 //  
 // Ask segmentation if signal should be generated  
   virtual Int_t   SigGenCond(Float_t x, Float_t y, Float_t z);
+  virtual Int_t   SigGenCond(AliMUONHit* hit);
 //
 // Initialisation of segmentation for hit  
   virtual void    SigGenInit(Float_t x, Float_t y, Float_t z);
+  virtual void    SigGenInit(AliMUONHit* hit);
 // Initialisation of charge fluctuation for given hit
   virtual void    ChargeCorrelationInit();
 
@@ -107,6 +116,8 @@ class AliMUONChamber : public TObject
   virtual void   DisIntegration(Float_t eloss, Float_t tof,
                                Float_t xhit, Float_t yhit, Float_t zhit,
                                Int_t& x, Float_t newclust[6][500]);
+  virtual void   DisIntegration(AliMUONHit* hit,
+                               Int_t& x, Float_t newclust[6][500]);
 // Initialize geometry related parameters  
   virtual void    InitGeo(Float_t z);
 //
@@ -117,8 +128,8 @@ class AliMUONChamber : public TObject
   virtual void SetChargeCorrel(Float_t correl) {fResponse->SetChargeCorrel(correl);}
 
 // geometry  
-  void SetGeometry(AliMUONChamberGeometry* geometry) {fGeometry = geometry;}
-  AliMUONChamberGeometry* GetGeometry() const {return fGeometry; }
+  void SetGeometry(AliMUONGeometryModule* geometry) {fGeometry = geometry;}
+  AliMUONGeometryModule* GetGeometry() const {return fGeometry; }
 
   
  protected:
@@ -136,10 +147,12 @@ class AliMUONChamber : public TObject
   Float_t fCurrentCorrel; //! charge correlation for current hit.
 
   TObjArray              *fSegmentation;    // pointer to segmentation
-  AliMUONClusterFinderVS *fReconstruction;  // pointer to reconstruction
+  TObjArray              *fSegmentation2;   // pointer to geometry segmentation bending & NBending
+
   AliMUONResponse        *fResponse;        // pointer to response
-  AliMUONChamberGeometry *fGeometry;        // pointer to geometry
-  ClassDef(AliMUONChamber,2) // Muon tracking chamber class
+  AliMUONGeometryModule  *fGeometry;        // pointer to geometry
+  AliMUON                *fMUON;            // pointer to MUON
+  ClassDef(AliMUONChamber,3) // Muon tracking chamber class
 };
 
 #endif