]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterInput.h
Updated comments for Doxygen
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterInput.h
index 07f5be4e0a46ccf73dbdebea7d946fccda2871bd..ee07ab95a905f2808f663cf0f20d33b7c2ee0bb0 100644 (file)
@@ -3,39 +3,53 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/*$Id $*/
+/* $Id $*/
+// Revision of includes 07/04/2006
 
-class TMinuit;
-class AliMUONDigit;
-class AliMUONRawCluster;
-class AliSegmentation;
-class AliMUONResponse;
+/// \ingroup rec
+/// \class AliMUONClusterInput
+/// \brief Global data service for hit reconstruction
 
+#include <TObject.h>
 #include <TClonesArray.h> // needed for inline function Digit
 
+class AliMUONDigit;
+class AliMUONRawCluster;
+class AliMUONMathieson;
+class AliMUONGeometryTransformer;
+class AliMUONSegmentation;
+class AliMUONGeometrySegmentation;
+
+class TMinuit;
 
-class AliMUONClusterInput : public TObject {
+class AliMUONClusterInput : public TObject 
+{
  public:
+    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()  {return fChamber;}
-    AliMUONDigit* Digit(Int_t cath, Int_t i) {return (AliMUONDigit*) (fDigits[cath]->UncheckedAt(i));}
-    TClonesArray* Digits(Int_t cath) {return fDigits[cath];}
-    Int_t NDigits(Int_t cath) {return fNDigits[cath];}
-    AliSegmentation* Segmentation(Int_t cath)  {return fSegmentation[cath];}
-    AliMUONResponse* Response()  {return fResponse;}    
+    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];}
+    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() {return fgMinuit;}
+    TMinuit*      Fitter() const {return fgMinuit;}
 // Current cluster information    
-    Float_t       TotalCharge(Int_t cath) {return fChargeTot[cath];}
-    Float_t       Charge(Int_t dig, Int_t cath) {return fCharge[dig][cath];}
-    Int_t         Ix(Int_t dig, Int_t cath) {return fix[dig][cath];}
-    Int_t         Iy(Int_t dig, Int_t cath) {return fiy[dig][cath];}
-    Int_t         Nmul(Int_t cath)  {return fNmul[cath];}
+    Float_t       TotalCharge(Int_t cath) const {return fChargeTot[cath];}
+    Float_t       Charge(Int_t dig, Int_t cath) const {return fCharge[dig][cath];}
+    Int_t         Ix(Int_t dig, Int_t cath) const {return fix[dig][cath];}
+    Int_t         Iy(Int_t dig, Int_t cath) const {return fiy[dig][cath];}
+    Int_t         Nmul(Int_t cath) const {return fNmul[cath];}
 //  Helpers for Fit     
     Float_t DiscrChargeS1(Int_t i,Double_t *par);
     Float_t DiscrChargeCombiS1(Int_t i,Double_t *par, Int_t cath);
@@ -44,30 +58,37 @@ class AliMUONClusterInput : public TObject {
 // 
  protected:
     AliMUONClusterInput();
-    AliMUONClusterInput(const AliMUONClusterInput& clusterInput){;}
+    AliMUONClusterInput(const AliMUONClusterInput& clusterInput);
     AliMUONClusterInput & operator = (const AliMUONClusterInput& rhs);
  private:
-    static AliMUONClusterInput* fgClusterInput; // singleton instance
+    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
-    AliMUONResponse*     fResponse;        // ! Response
-    Int_t                fNseg;            // ! number of cathode planes
-    Int_t                fChamber;         // ! Current chamber number
+    TClonesArray*        fDigits[2];       //!< Array of pointers to digits
+    Int_t                fNDigits[2];      //!< Number of digits
+    AliMUONGeometrySegmentation*     fSegmentation2[2]; //!< Geometry Segmentation per cathode
+
+    Int_t                fNseg;            //!< number of cathode planes
+    Int_t                fChamber;         //!< Current chamber number
     
     // Current cluster
-    AliMUONRawCluster*   fCluster;         // ! current cluster
-    Int_t                fNmul[2];         // ! current cluster multiplicity
+    AliMUONRawCluster*   fCluster;         //!< current cluster
+    Int_t                fNmul[2];         //!< current cluster multiplicity
     // Digits contribuing to current cluster
-    Int_t                fix[500][2];      // ! List of x-positions for current cluster
-    Int_t                fiy[500][2];      // ! List of y-positions for current cluster
-    Float_t              fCharge[500][2];  // ! List of charges for current cluster
-    Int_t                fChargeTot[2];    // ! Total charge
-    Float_t              fQtot[2];         // ! Total charge
-    Float_t              fZ;                // ! Current z-position
+    Int_t                fix[500][2];      //!< List of x-positions for current cluster
+    Int_t                fiy[500][2];      //!< List of y-positions for current cluster
+    Float_t              fCharge[500][2];  //!< List of charges for current cluster
+    Int_t                fChargeTot[2];    //!< Total charge
+    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
+    static TMinuit*      fgMinuit;          //!< Fitter
     ClassDef(AliMUONClusterInput, 0)        // Global data service for hit reconstruction
 };
 #endif