]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONEventRecoCombi.h
Comments for Doxygen (mostly added comments for inline functions)
[u/mrichter/AliRoot.git] / MUON / AliMUONEventRecoCombi.h
1 #ifndef ALIMUONEVENTRECOCOMBI_H
2 #define ALIMUONEVENTRECOCOMBI_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 /// \ingroup rec
9 /// \class AliMUONEventRecoCombi
10 /// \brief Combined cluster / track finder in the MUON arm of ALICE
11 /// \author Alexander Zinchenko, JINR Dubna
12  
13 #include <TObject.h>
14 #include <TArrayD.h>
15 #include <TClonesArray.h>
16
17 class AliMUONData;
18 class AliMUONDetElement;
19 class AliMUONTrackReconstructorK;
20 class AliMUONClusterFinderAZ;
21 class AliMUONHitForRec;
22 class AliMUONSegmentation;
23 class AliLoader;
24
25 class AliMUONEventRecoCombi : public TObject 
26 {
27  public:
28     virtual ~AliMUONEventRecoCombi();
29     static AliMUONEventRecoCombi* Instance(AliMUONSegmentation* segmentation = 0);
30     void FillEvent(AliMUONData *data, AliMUONClusterFinderAZ *recModel); // fill event info
31     void FillRecP(AliMUONData *dataCluster, AliMUONTrackReconstructorK *recoTrack) const; // fill used rec. points from det. elems
32
33     Int_t Nz() const { return fNZ; } ///< number of DE different Z-positions
34     Double_t Z(Int_t iz) const { return (*fZ)[iz]; } ///< Z of DE
35     Int_t *DEatZ(Int_t iz) const { return fDEvsZ[iz]+1; } ///< list of DE's at Z
36     AliMUONDetElement *DetElem(Int_t iPos) const { return (AliMUONDetElement*) fDetElems->UncheckedAt(iPos); } ///< Det element
37     Int_t IZfromHit(AliMUONHitForRec *hit) const; // IZ from Hit
38
39  protected:
40     AliMUONEventRecoCombi(AliMUONSegmentation* segmentation = 0);
41
42  private:
43     /// Not implemented
44     AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs);
45     /// Not implemented
46     AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs);
47
48     static AliMUONEventRecoCombi* fgRecoCombi; //!< singleton instance
49     AliMUONSegmentation*  fSegmentation;  //!< Segmentation
50     TClonesArray *fDetElems; //!< array of Det. Elem. objects
51     TArrayD *fZ; //!< array of det. elem. Z-coordinates
52     Int_t fNZ; //!< number of different Z's
53     Int_t **fDEvsZ; //!< list of DE's vs Z-coordinates
54
55     ClassDef(AliMUONEventRecoCombi, 0) // Combined cluster/track finder steering class
56       };
57 #endif