]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterInput.h
Segmentation not taken from MUON object but created
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterInput.h
index dddfdb8fc2b5638f2a39c2f0cef87f11e07005f8..7c245a80cc96b6ec4205c2aa43adfb17e07ee586 100644 (file)
@@ -4,17 +4,23 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id $*/
-// Revision of includes 07/05/2004
+// Revision of includes 07/04/2006
+
+/// \ingroup rec
+/// \class AliMUONClusterInput
+/// \brief Global data service for hit reconstruction
 
 #include <TObject.h>
 #include <TClonesArray.h> // needed for inline function Digit
 
-class TMinuit;
-
 class AliMUONDigit;
 class AliMUONRawCluster;
-class AliSegmentation;
 class AliMUONMathieson;
+class AliMUONGeometryTransformer;
+class AliMUONSegmentation;
+class AliMUONGeometrySegmentation;
+
+class TMinuit;
 
 class AliMUONClusterInput : public TObject 
 {
@@ -22,17 +28,19 @@ class AliMUONClusterInput : public TObject
     virtual ~AliMUONClusterInput();
     static AliMUONClusterInput* Instance();
 //  Configuration
-    void SetDigits(Int_t chamber, TClonesArray* dig1, TClonesArray* dig2);
-    void SetDigits(Int_t chamber, TClonesArray* dig);
+    void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig1, TClonesArray* dig2);
+    void SetDigits(Int_t chamber, Int_t idDE, TClonesArray* dig);
     void SetCluster(AliMUONRawCluster* cluster);
 // Access functions
     Int_t Chamber() const {return fChamber;}
     AliMUONDigit* Digit(Int_t cath, Int_t i) const {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));}
     TClonesArray* Digits(Int_t cath) const {return fDigits[cath];}
     Int_t NDigits(Int_t cath) const {return fNDigits[cath];}
-    AliSegmentation* Segmentation(Int_t cath) const {return fSegmentation[cath];}
+    AliMUONGeometrySegmentation* Segmentation2(Int_t cath) const {return fSegmentation2[cath];}
+
     AliMUONMathieson* Mathieson() const {return fgMathieson;}    
     Float_t ChargeCorrel() const {return fChargeCorrel;}    
+    Int_t DetElemId() const {return fDetElemId;}
 
 // Fitting    
     TMinuit*      Fitter() const {return fgMinuit;}
@@ -53,13 +61,16 @@ class AliMUONClusterInput : public TObject
     AliMUONClusterInput(const AliMUONClusterInput& clusterInput);
     AliMUONClusterInput & operator = (const AliMUONClusterInput& rhs);
  private:
-    static AliMUONClusterInput* fgClusterInput; // ! singleton instance
-    static AliMUONMathieson*    fgMathieson;     // ! Mathieson
+    static AliMUONClusterInput*  fgClusterInput;  // ! singleton instance
+    static AliMUONMathieson*     fgMathieson;     // ! Mathieson
+    static AliMUONGeometryTransformer*  fgTransformer;  // ! Geometry transformer
+    static AliMUONSegmentation*  fgSegmentation;  // ! Segmentation
 
     // Digits
     TClonesArray*        fDigits[2];       // ! Array of pointers to digits
     Int_t                fNDigits[2];      // ! Number of digits
-    AliSegmentation*     fSegmentation[2]; // ! Segmentation per cathode
+    AliMUONGeometrySegmentation*     fSegmentation2[2]; // ! Geometry Segmentation per cathode
+
     Int_t                fNseg;            // ! number of cathode planes
     Int_t                fChamber;         // ! Current chamber number
     
@@ -74,6 +85,7 @@ class AliMUONClusterInput : public TObject
     Float_t              fQtot[2];         // ! Total charge
     Float_t              fZ;               // ! Current z-position
     Float_t              fChargeCorrel;    // ! charge correlation 
+    Int_t                fDetElemId;       // ! detection elt id    
 
     // Fitter
     static TMinuit*      fgMinuit;          // ! Fitter