]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONEventRecoCombi.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONEventRecoCombi.h
index fde2d5964ebe31eb6af0d5cf3acb17687e02babb..d4625d207b597b5e88d5f228a663da1c5d4d1718 100644 (file)
@@ -7,43 +7,50 @@
 
 /// \ingroup rec
 /// \class AliMUONEventRecoCombi
-/// \brief Combined cluster / track finder in MUON arm of ALICE
+/// \brief Combined cluster / track finder in the MUON arm of ALICE
+/// \author Alexander Zinchenko, JINR Dubna
  
 #include <TObject.h>
 #include <TArrayD.h>
-class TClonesArray;
-class AliMUONData;
+#include <TClonesArray.h>
+
+class AliMUONRecData;
 class AliMUONDetElement;
-class AliMUONTrackReconstructor;
+class AliMUONTrackReconstructorK;
 class AliMUONClusterFinderAZ;
 class AliMUONHitForRec;
+class AliMUONSegmentation;
 class AliLoader;
 
 class AliMUONEventRecoCombi : public TObject 
 {
  public:
     virtual ~AliMUONEventRecoCombi();
-    static AliMUONEventRecoCombi* Instance();
-    void FillEvent(AliMUONData *data, AliMUONClusterFinderAZ *recModel); // fill event info
-    void FillRecP(AliMUONData *dataCluster, AliMUONTrackReconstructor *recoTrack); // fill used rec. points from det. elems
-
-    Int_t Nz() const { return fNZ; } // number of DE different Z-positions
-    Double_t Z(Int_t iz) const { return (*fZ)[iz]; } // Z of DE
-    Int_t *DEatZ(Int_t iz) const { return fDEvsZ[iz]+1; } // list of DE's at Z
-    AliMUONDetElement *DetElem(Int_t iPos) const { return (AliMUONDetElement*) fDetElems->UncheckedAt(iPos); }
+    static AliMUONEventRecoCombi* Instance(AliMUONSegmentation* segmentation = 0);
+    void FillEvent(AliMUONRecData *data, AliMUONClusterFinderAZ *recModel); // fill event info
+    void FillRecP(AliMUONRecData *dataCluster, AliMUONTrackReconstructorK *recoTrack) const; // fill used rec. points from det. elems
+
+    Int_t Nz() const { return fNZ; } ///< number of DE different Z-positions
+    Double_t Z(Int_t iz) const { return (*fZ)[iz]; } ///< Z of DE
+    Int_t *DEatZ(Int_t iz) const { return fDEvsZ[iz]+1; } ///< list of DE's at Z
+    AliMUONDetElement *DetElem(Int_t iPos) const { return (AliMUONDetElement*) fDetElems->UncheckedAt(iPos); } ///< Det element
     Int_t IZfromHit(AliMUONHitForRec *hit) const; // IZ from Hit
 
  protected:
-    AliMUONEventRecoCombi();
-    //AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs);
-    //AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs);
+    AliMUONEventRecoCombi(AliMUONSegmentation* segmentation = 0);
 
  private:
-    static AliMUONEventRecoCombi* fgRecoCombi; // ! singleton instance
-    TClonesArray *fDetElems; // ! array of Det. Elem. objects
-    TArrayD *fZ; // ! array of det. elem. Z-coordinates
-    Int_t fNZ; // ! number of different Z's
-    Int_t **fDEvsZ; // ! list of DE's vs Z-coordinates
+    /// Not implemented
+    AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs);
+    /// Not implemented
+    AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs);
+
+    static AliMUONEventRecoCombi* fgRecoCombi; //!< singleton instance
+    AliMUONSegmentation*  fSegmentation;  //!< Segmentation
+    TClonesArray *fDetElems; //!< array of Det. Elem. objects
+    TArrayD *fZ; //!< array of det. elem. Z-coordinates
+    Int_t fNZ; //!< number of different Z's
+    Int_t **fDEvsZ; //!< list of DE's vs Z-coordinates
 
     ClassDef(AliMUONEventRecoCombi, 0) // Combined cluster/track finder steering class
       };