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 */
9 /// \class AliMUONEventRecoCombi
10 /// \brief Combined cluster / track finder in MUON arm of ALICE
14 #include <TClonesArray.h>
17 class AliMUONDetElement;
18 class AliMUONTrackReconstructor;
19 class AliMUONClusterFinderAZ;
20 class AliMUONHitForRec;
23 class AliMUONEventRecoCombi : public TObject
26 virtual ~AliMUONEventRecoCombi();
27 static AliMUONEventRecoCombi* Instance();
28 void FillEvent(AliMUONData *data, AliMUONClusterFinderAZ *recModel); // fill event info
29 void FillRecP(AliMUONData *dataCluster, AliMUONTrackReconstructor *recoTrack) const; // fill used rec. points from det. elems
31 Int_t Nz() const { return fNZ; } // number of DE different Z-positions
32 Double_t Z(Int_t iz) const { return (*fZ)[iz]; } // Z of DE
33 Int_t *DEatZ(Int_t iz) const { return fDEvsZ[iz]+1; } // list of DE's at Z
34 AliMUONDetElement *DetElem(Int_t iPos) const { return (AliMUONDetElement*) fDetElems->UncheckedAt(iPos); }
35 Int_t IZfromHit(AliMUONHitForRec *hit) const; // IZ from Hit
38 AliMUONEventRecoCombi();
39 AliMUONEventRecoCombi(const AliMUONEventRecoCombi& rhs);
40 AliMUONEventRecoCombi & operator = (const AliMUONEventRecoCombi& rhs);
43 static AliMUONEventRecoCombi* fgRecoCombi; //!< singleton instance
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
49 ClassDef(AliMUONEventRecoCombi, 0) // Combined cluster/track finder steering class