Adding macros to create Calibration objects
[u/mrichter/AliRoot.git] / TRD / TRDbase / AliTRDhit.h
1 #ifndef ALITRDHIT_H
2 #define ALITRDHIT_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 //                                                                        //
10 //  Hit class for the TRD                                                 //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #include "AliHit.h"
15
16 class AliTRDhit : public AliHit {
17
18  public:
19
20   AliTRDhit();
21   AliTRDhit(Int_t shunt, Int_t track, Int_t det, const Float_t * const hits, Int_t q, Float_t time);
22   virtual ~AliTRDhit();
23
24           Int_t    GetDetector() const         { return fDetector; }
25           Int_t    GetCharge() const           { return fQ;        }
26           Float_t  GetTime() const             { return fTime;     }
27
28           void     SetX(Float_t x)             { fX        =   x;  }
29           void     SetY(Float_t y)             { fY        =   y;  }
30           void     SetZ(Float_t z)             { fZ        =   z;  }
31           void     SetDetector(Int_t det)      { fDetector = det;  }
32           void     SetQ(Int_t q)               { fQ        =   q;  }
33           void     SetTime(Float_t time)       { fTime     = time; }
34
35           Bool_t   FromDrift() const           { return TestBit(kDrift);         }
36           Bool_t   FromAmplification() const   { return TestBit(kAmplification); }
37           Bool_t   FromTRphoton() const        { return (fQ < 0);                }
38           
39           void     SetDrift()                  { SetBit(kDrift);                 }
40           void     SetAmplification()          { SetBit(kAmplification);         }
41           void     SetTRphoton()               { SetBit(kTRphoton);              }
42
43  protected:
44
45           enum {
46               kDrift         = 0x00000001   //  Hit is from the drift region
47             , kAmplification = 0x00000002   //  Hit is from the amplification region
48             , kTRphoton      = 0x00000004   //  Hit is from a TR photon
49             , kTest          = 0x00000008   //  Hit is a special test hit
50           };
51
52           UShort_t fDetector;               //  TRD detector number
53           Short_t  fQ;                      //  Charge created by a hit. TR signals are negative.
54           Float_t  fTime;                   //  Absolute time of hit [mus]. Needed for pile-up events
55
56   ClassDef(AliTRDhit,4)                     //  Hit for the Transition Radiation Detector
57
58 };
59
60 #endif