]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONChamber.h
get tables from the aliroot directory if they are not in the current one
[u/mrichter/AliRoot.git] / MUON / AliMUONChamber.h
index 745d73ac3a636cef9c0c0e3621434136e8c49f8d..3557cedced15325341bc105bfd3d8d1c7140f995 100644 (file)
@@ -6,12 +6,13 @@
 /* $Id$ */
 
 #include "TObjArray.h"
-#include "AliMUONSegmentation.h"
+#include "AliSegmentation.h"
 #include "AliMUONResponse.h"
 
 class AliMUONClusterFinderVS;
 //class AliMUONResponse ;
-//class AliMUONSegmentation ;
+//class AliSegmentation ;
+class AliMUONChamberGeometry;
 
 class AliMUONChamber:
 public TObject
@@ -23,11 +24,20 @@ public TObject
     virtual ~AliMUONChamber();
     
 //
+// Get chamber Id
+  virtual Int_t   GetId() {return fId;}
+//
+
+// Get chamber Id
+  virtual Bool_t  IsSensId(Int_t volId) const;
+/*
 // Get GEANT id of sensitive volume
   virtual Int_t   GetGid() {return fGid;}
 // Set GEANT id of sensitive volume
   virtual void    SetGid(Int_t id) {fGid=id;}
-//  
+//
+*/
+  
 // Initialisation
   virtual void    Init();
 // Set z-position of chamber  
@@ -48,8 +58,8 @@ public TObject
   virtual void    SetResponseModel(AliMUONResponse* thisResponse) {fResponse=thisResponse;}
 //  
 // Set segmentation model
-  virtual void    SetSegmentationModel(Int_t i, AliMUONSegmentation* thisSegmentation) {
-      (*fSegmentation)[i-1] = thisSegmentation;
+  virtual void    SetSegmentationModel(Int_t i, AliSegmentation* thisSegmentation) {
+      fSegmentation->AddAt(thisSegmentation,i-1);
   }
 // Set Cluster reconstruction model  
   virtual void    SetReconstructionModel(AliMUONClusterFinderVS *thisReconstruction) {
@@ -60,8 +70,8 @@ public TObject
   virtual AliMUONResponse* &ResponseModel(){return fResponse;}
 //  
 //  Get reference to segmentation model
-  virtual AliMUONSegmentation*  SegmentationModel(Int_t isec) {
-      return (AliMUONSegmentation *) (*fSegmentation)[isec-1];
+  virtual AliSegmentation*  SegmentationModel(Int_t isec) {
+      return (AliSegmentation *) (*fSegmentation)[isec-1];
   }
   virtual TObjArray* ChamberSegmentation() {return fSegmentation;}
 //  Get pointer to cluster reconstruction model
@@ -81,6 +91,9 @@ public TObject
 //
 // Initialisation of segmentation for hit  
   virtual void    SigGenInit(Float_t x, Float_t y, Float_t z);
+// Initialisation of charge fluctuation for given hit
+  virtual void    ChargeCorrelationInit();
+
 // Configuration forwarding
 //
 // Define signal distribution region
@@ -95,7 +108,7 @@ public TObject
   virtual void   SetMaxAdc(Int_t p1)                   {fResponse->SetMaxAdc(p1);}
 // Set Pad size
   virtual void   SetPadSize(Int_t isec, Float_t p1, Float_t p2) {
-      ((AliMUONSegmentation*) (*fSegmentation)[isec-1])->SetPadSize(p1,p2);
+      ((AliSegmentation*) (*fSegmentation)[isec-1])->SetPadSize(p1,p2);
   }
 //  
 // Cluster formation method (charge disintegration)
@@ -107,23 +120,34 @@ public TObject
 //
   virtual Float_t DGas() {return fdGas;}
   virtual Float_t DAlu() {return fdAlu;}  
+  virtual void SetDGas(Float_t DGas) {fdGas = DGas;}
+  virtual void SetDAlu(Float_t DAlu) {fdAlu = DAlu;}  
+  virtual void SetChargeCorrel(Float_t correl) {fResponse->SetChargeCorrel(correl);}
+
+// geometry  
+  void SetGeometry(AliMUONChamberGeometry* geometry) {fGeometry = geometry;}
+  AliMUONChamberGeometry* GetGeometry() const {return fGeometry; }
+
 // assignment operator  
-  virtual AliMUONChamber& operator =(const AliMUONChamber& rhs);
+  AliMUONChamber& operator =(const AliMUONChamber& rhs);
   
  protected:
   Int_t   fId;   // chamber number
   Float_t fdGas; // half gaz gap
   Float_t fdAlu; // half Alu width  
-  Int_t   fGid;  // GEANT volume if for sensitive volume of this chamber
+  //Int_t   fGid;  // GEANT volume if for sensitive volume of this chamber
+                   // moved to AliMUONChamberGeometry
   Float_t fZ;    // Z position (cm)
   Int_t   fnsec; // number of semented cathode planes
   Float_t frMin; // innermost sensitive radius
   Float_t frMax; // outermost sensitive radius
+  Float_t fCurrentCorrel; //! charge correlation for current hit.
 
   TObjArray              *fSegmentation;    // pointer to segmentation
   AliMUONClusterFinderVS *fReconstruction;  // pointer to reconstruction
   AliMUONResponse        *fResponse;        // pointer to response
-  ClassDef(AliMUONChamber,1) // Muon tracking and trigger chamber class
+  AliMUONChamberGeometry *fGeometry;        // pointer to geometry
+  ClassDef(AliMUONChamber,1) // Muon tracking chamber class
 };
 
 #endif