]>
Commit | Line | Data |
---|---|---|
cc87ebcd | 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 | |
aa70da7a | 10 | /// \brief Combined cluster / track finder in the MUON arm of ALICE |
c4ee792d | 11 | /// \author Alexander Zinchenko, JINR Dubna |
cc87ebcd | 12 | |
13 | #include <TObject.h> | |
14 | #include <TArrayD.h> | |
e785d2ac | 15 | #include <TClonesArray.h> |
16 | ||
cc87ebcd | 17 | class AliMUONData; |
18 | class AliMUONDetElement; | |
2457f726 | 19 | class AliMUONTrackReconstructorK; |
cc87ebcd | 20 | class AliMUONClusterFinderAZ; |
21 | class AliMUONHitForRec; | |
6a518391 | 22 | class AliMUONSegmentation; |
cc87ebcd | 23 | class AliLoader; |
24 | ||
25 | class AliMUONEventRecoCombi : public TObject | |
26 | { | |
27 | public: | |
28 | virtual ~AliMUONEventRecoCombi(); | |
6a518391 | 29 | static AliMUONEventRecoCombi* Instance(AliMUONSegmentation* segmentation = 0); |
29cac82a | 30 | void FillEvent(AliMUONData *data, AliMUONClusterFinderAZ *recModel); // fill event info |
2457f726 | 31 | void FillRecP(AliMUONData *dataCluster, AliMUONTrackReconstructorK *recoTrack) const; // fill used rec. points from det. elems |
cc87ebcd | 32 | |
71a2d3aa | 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 | |
cc87ebcd | 37 | Int_t IZfromHit(AliMUONHitForRec *hit) const; // IZ from Hit |
38 | ||
39 | protected: | |
6a518391 | 40 | AliMUONEventRecoCombi(AliMUONSegmentation* segmentation = 0); |
cc87ebcd | 41 | |
42 | private: | |
71a2d3aa | 43 | /// Not implemented |
44 | AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs); | |
45 | /// Not implemented | |
46 | AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs); | |
47 | ||
aa70da7a | 48 | static AliMUONEventRecoCombi* fgRecoCombi; //!< singleton instance |
6a518391 | 49 | AliMUONSegmentation* fSegmentation; //!< Segmentation |
aa70da7a | 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 | |
cc87ebcd | 54 | |
55 | ClassDef(AliMUONEventRecoCombi, 0) // Combined cluster/track finder steering class | |
56 | }; | |
57 | #endif |