]>
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 |
cc87ebcd | 11 | |
12 | #include <TObject.h> | |
13 | #include <TArrayD.h> | |
e785d2ac | 14 | #include <TClonesArray.h> |
15 | ||
cc87ebcd | 16 | class AliMUONData; |
17 | class AliMUONDetElement; | |
2457f726 | 18 | class AliMUONTrackReconstructorK; |
cc87ebcd | 19 | class AliMUONClusterFinderAZ; |
20 | class AliMUONHitForRec; | |
6a518391 | 21 | class AliMUONSegmentation; |
cc87ebcd | 22 | class AliLoader; |
23 | ||
24 | class AliMUONEventRecoCombi : public TObject | |
25 | { | |
26 | public: | |
27 | virtual ~AliMUONEventRecoCombi(); | |
6a518391 | 28 | static AliMUONEventRecoCombi* Instance(AliMUONSegmentation* segmentation = 0); |
29cac82a | 29 | void FillEvent(AliMUONData *data, AliMUONClusterFinderAZ *recModel); // fill event info |
2457f726 | 30 | void FillRecP(AliMUONData *dataCluster, AliMUONTrackReconstructorK *recoTrack) const; // fill used rec. points from det. elems |
cc87ebcd | 31 | |
32 | Int_t Nz() const { return fNZ; } // number of DE different Z-positions | |
33 | Double_t Z(Int_t iz) const { return (*fZ)[iz]; } // Z of DE | |
34 | Int_t *DEatZ(Int_t iz) const { return fDEvsZ[iz]+1; } // list of DE's at Z | |
35 | AliMUONDetElement *DetElem(Int_t iPos) const { return (AliMUONDetElement*) fDetElems->UncheckedAt(iPos); } | |
36 | Int_t IZfromHit(AliMUONHitForRec *hit) const; // IZ from Hit | |
37 | ||
38 | protected: | |
6a518391 | 39 | AliMUONEventRecoCombi(AliMUONSegmentation* segmentation = 0); |
cc87ebcd | 40 | |
41 | private: | |
aa70da7a | 42 | static AliMUONEventRecoCombi* fgRecoCombi; //!< singleton instance |
6a518391 | 43 | AliMUONSegmentation* fSegmentation; //!< Segmentation |
aa70da7a | 44 | TClonesArray *fDetElems; //!< array of Det. Elem. objects |
45 | TArrayD *fZ; //!< array of det. elem. Z-coordinates | |
46 | Int_t fNZ; //!< number of different Z's | |
47 | Int_t **fDEvsZ; //!< list of DE's vs Z-coordinates | |
cc87ebcd | 48 | |
54d7ba50 | 49 | AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs); |
50 | AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs); | |
51 | ||
cc87ebcd | 52 | ClassDef(AliMUONEventRecoCombi, 0) // Combined cluster/track finder steering class |
53 | }; | |
54 | #endif |