New class AliESDEvent, backward compatibility with the old AliESD (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackHitPattern.h
1 #ifndef ALIMUONTRACKHITPATTERN_H
2 #define ALIMUONTRACKHITPATTERN_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 AliMUONTrackHitPattern
10 /// \brief Class for the MUON track hit pattern
11 ///
12 //  Author: Diego Stocco
13
14 #include <TObject.h>
15
16 class AliMUONVTrackStore;
17 class AliMUONVTriggerStore;
18 class AliMUONTrackParam;
19 class AliMUONDigitMaker;
20 class AliMUONGeometryTransformer;
21 class AliMUONVDigitStore;
22
23 class AliMUONTrackHitPattern : public TObject 
24 {
25 public:
26
27   AliMUONTrackHitPattern(const AliMUONGeometryTransformer& transformer,
28                          const AliMUONDigitMaker& digitMaker);
29   virtual ~AliMUONTrackHitPattern(); // Destructor
30     
31     void GetHitPattern(AliMUONVTrackStore& trackStore,
32                        const AliMUONVTriggerStore& triggerStore) const;
33     
34     void FindPadMatchingTrack(AliMUONVDigitStore& digitStore,
35                               const AliMUONTrackParam& trackParam,
36                               Bool_t isMatch[2], Int_t iChamber) const;
37
38     Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad,
39                                Float_t dpx, Float_t dpy, 
40                                const AliMUONTrackParam& trackParam) const;
41     
42     void GetPosUncertainty(const AliMUONTrackParam& trackParm, Float_t zChamber,
43                            Float_t &sigmaX, Float_t &sigmaY, Float_t &sigmaMS) const;
44
45     Bool_t TriggerDigits(const AliMUONVTriggerStore& triggerStore, 
46                          AliMUONVDigitStore& digitStore) const;
47
48 private:
49     /// Not implemented
50     AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs);
51     /// Not implemented
52     AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs);
53
54     const AliMUONGeometryTransformer& fTransformer; //!< geometry transformer
55     const AliMUONDigitMaker& fDigitMaker; ///< pointer to digit maker
56
57     ClassDef(AliMUONTrackHitPattern, 0) // MUON track hit pattern
58 };
59
60 #endif