Include the new TRD classes
[u/mrichter/AliRoot.git] / TRD / AliTRD.h
1 #ifndef TRD_H
2 #define TRD_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 //  Manager and hits classes for set: TRD     //
10 ////////////////////////////////////////////////
11  
12 #include "AliRun.h"
13 #include "AliDetector.h"
14 #include "AliHit.h" 
15 #include "AliDigit.h"
16
17 #include "AliTRDconst.h"
18 //#include "AliTRDgeometry.h"
19
20 class AliTRDgeometry;
21
22 //_____________________________________________________________________________
23 class AliTRD : public AliDetector {
24
25  public:
26
27   AliTRD();
28   AliTRD(const char *name, const char *title);
29   virtual           ~AliTRD();
30   virtual void       AddHit(Int_t, Int_t, Float_t*);
31   virtual void       AddDigit(Int_t*);    
32   virtual void       AddRecPoint(Float_t*, Int_t*, Int_t, Float_t);
33   virtual void       BuildGeometry();
34   virtual void       CreateGeometry();
35   virtual void       CreateMaterials();
36   virtual void       DrawModule();
37   Int_t              DistancetoPrimitive(Int_t px, Int_t py);
38   TClonesArray      *RecPoints()           { return fRecPoints;   };
39   virtual void       Init();
40   virtual Int_t      IsVersion() const = 0;
41   virtual void       MakeBranch(Option_t* option);     
42   virtual void       ResetRecPoints();
43   virtual void       StepManager() = 0; 
44   virtual void       SetTreeAddress();
45
46   virtual void       SetGasMix(Int_t imix = 0);
47   virtual void       SetHits(Int_t ihit = 1) {};
48
49   AliTRDgeometry    *GetGeometry()         { return fGeometry; };
50
51   virtual Int_t      GetSensChamber() = 0;
52   virtual Int_t      GetSensPlane()   = 0;
53   virtual Int_t      GetSensSector()  = 0;
54  
55  protected:
56
57   Int_t              fGasMix;            // Gas mixture. 0: Xe/Isobutane 1: Xe/CO2
58
59   AliTRDgeometry    *fGeometry;          // The TRD geometry
60
61   TClonesArray      *fRecPoints;         // List of reconstructed points
62   Int_t              fNRecPoints;        //! Number of reconstructed points
63
64   ClassDef(AliTRD,1)                     // Transition Radiation Detector base class
65
66 };
67
68 //_____________________________________________________________________________
69 class AliTRDhit : public AliHit {
70
71 public:
72   Int_t        fDetector;   // TRD detector number
73   Float_t      fQ;          // Charge created by a hit (slow simulator only)
74  
75 public:
76   AliTRDhit() {}
77   AliTRDhit(Int_t shunt, Int_t track, Int_t det, Float_t *hits);
78   virtual ~AliTRDhit() {};
79  
80   ClassDef(AliTRDhit,2)     // Hits for Transition Radiation Detector
81
82 };
83
84 #endif