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