Clean up the dependencies
[u/mrichter/AliRoot.git] / TRD / AliTRD.h
1 #ifndef ALITRD_H
2 #define ALITRD_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 //  Manager and hits classes for set: TRD                                 //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14
15 #include "AliDetector.h"
16
17 class AliRawReader;
18
19 class AliTRDgeometry;
20
21 class AliTRD : public AliDetector {
22
23  public:
24
25   AliTRD();
26   AliTRD(const char *name, const char *title);
27   virtual         ~AliTRD();
28
29   virtual void     Init();
30   virtual Int_t    IsVersion() const          = 0;
31   virtual void     ResetDigits();     
32
33   virtual void     CreateGeometry();
34   virtual void     CreateMaterials();
35
36   virtual void     Hits2Digits();
37   virtual void     Hits2SDigits();
38   virtual void     SDigits2Digits();
39   virtual void     Digits2Raw();
40   virtual Bool_t   Raw2SDigits(AliRawReader* rawReader);
41
42   virtual void     AddHit(Int_t, Int_t*, Float_t*)       { }; 
43   virtual void     AddHit(Int_t track, Int_t det, Float_t *hits
44                         , Int_t q, Float_t time, Bool_t inDrift); 
45
46   virtual void     SetTreeAddress();
47
48   virtual void     StepManager()              = 0; 
49   virtual void     StepManagerErmilova()      = 0;
50   virtual void     StepManagerGeant()         = 0;
51   virtual void     StepManagerFixedStep()     = 0;
52   virtual void     SelectStepManager(Int_t t) = 0;
53
54   virtual void     SetStepSize(Double_t s)    = 0;
55   virtual void     SetHits()                             { };
56   virtual void     SetTR(Bool_t )             = 0;
57
58   virtual Bool_t   GetTR() const              = 0;
59
60           AliTRDgeometry  *GetGeometry() const           { return fGeometry; };
61   virtual AliDigitizer    *CreateDigitizer(AliRunDigitizer *manager) const; 
62   virtual AliLoader       *MakeLoader(const char* topfoldername);
63
64  protected:
65
66   AliTRDgeometry       *fGeometry;             //  The TRD geometry
67
68   Float_t               fGasDensity;           //  The density of the drift gas
69   Float_t               fFoilDensity;          //  The density of the entrance window foil
70   Float_t               fGasNobleFraction;     //  The fraction of noble gas in the mixture
71
72  private:
73
74   AliTRD(const AliTRD &trd);
75   AliTRD  &operator=(const AliTRD &trd);
76
77   ClassDef(AliTRD,11)                          //  Transition Radiation Detector base class
78
79 };
80
81 #endif