Modifications needed by the HBT analysis (P.Skowronski)
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackHit.h
1 #ifndef ALIMUONTRACKHIT_H
2 #define ALIMUONTRACKHIT_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 ///////////////////////////////////////////////////////
9 // Reconstructed track hit in ALICE dimuon spectrometer
10 ///////////////////////////////////////////////////////
11
12 #include <TObject.h>
13 #include "AliMUONTrackParam.h" // object belongs to the class
14
15 class AliMUONHitForRec;
16
17 class AliMUONTrackHit : public TObject {
18  public:
19   AliMUONTrackHit(){
20     // Constructor
21     fHitForRecPtr = 0;
22     fNextTrackHitWithSameHitForRec = 0;
23     fPrevTrackHitWithSameHitForRec = 0;
24   } // Constructor
25   virtual ~AliMUONTrackHit(); // Destructor
26   AliMUONTrackHit (const AliMUONTrackHit& AliMUONTrackHit); // copy constructor
27   AliMUONTrackHit& operator=(const AliMUONTrackHit& AliMUONTrackHit); // assignment operator
28   AliMUONTrackHit(AliMUONHitForRec* Hit); // Constructor from one HitForRec
29
30   // Inline functions for Get and Set
31   AliMUONHitForRec* GetHitForRecPtr(void) const {return fHitForRecPtr;}
32   AliMUONTrackParam* GetTrackParam(void) {return &(fTrackParam);}
33   void SetTrackParam(AliMUONTrackParam* TrackParam) {fTrackParam = *TrackParam;}
34
35   // What is necessary for sorting TClonesArray's; sufficient too ????
36   Bool_t IsSortable () const {
37     // necessary for sorting TClonesArray of TrackHit's
38     return kTRUE; }
39   Int_t Compare(const TObject* TrackHit) const; // "Compare" function for sorting
40
41  protected:
42  private:
43   void SetNextTrackHitWithSameHitForRec(AliMUONTrackHit *Next) {fNextTrackHitWithSameHitForRec = Next;}
44   void SetPrevTrackHitWithSameHitForRec(AliMUONTrackHit *Prev) {fPrevTrackHitWithSameHitForRec = Prev;}
45
46   AliMUONTrackParam fTrackParam; // Track parameters
47   AliMUONHitForRec *fHitForRecPtr; // Pointer to HitForRec
48   AliMUONTrackHit *fNextTrackHitWithSameHitForRec; // Pointer to next track hit with same HitForRec
49   AliMUONTrackHit *fPrevTrackHitWithSameHitForRec; // Pointer to previous track hit with same HitForRec
50
51   ClassDef(AliMUONTrackHit, 1) // Reconstructed track hit in ALICE dimuon spectrometer
52     };
53         
54 #endif