3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ////////////////////////////////////////////////////////////////////////////
10 // Manager and hits classes for set: TRD //
12 ////////////////////////////////////////////////////////////////////////////
15 #include "AliDetector.h"
16 #include "AliTRDTrigger.h"
21 class AliTriggerDetector;
23 class AliTRD : public AliDetector {
28 AliTRD(const char *name, const char *title);
32 virtual Int_t IsVersion() const = 0;
33 virtual void ResetDigits();
35 virtual void CreateGeometry();
36 virtual void CreateMaterials();
38 virtual void Hits2Digits();
39 virtual void Hits2SDigits();
40 virtual void SDigits2Digits();
41 virtual void Digits2Raw();
42 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
44 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
45 virtual void AddHit(Int_t track, Int_t det, Float_t *hits
46 , Int_t q, Float_t time, Bool_t inDrift);
48 virtual void SetTreeAddress();
50 virtual void StepManager() = 0;
52 virtual void SetStepSize(Double_t s) = 0;
53 virtual void SetHits() { };
54 virtual void SetTR(Bool_t ) = 0;
56 virtual Bool_t GetTR() const = 0;
58 AliTRDgeometry *GetGeometry() const { return fGeometry; };
59 virtual AliDigitizer *CreateDigitizer(AliDigitizationInput* digInput) const;
60 virtual AliLoader *MakeLoader(const char* topfoldername);
61 virtual AliTriggerDetector *CreateTriggerDetector() const { return new AliTRDTrigger(); }
62 void SetPrimaryIonisation(Bool_t flag = kTRUE) {fPrimaryIonisation = flag;}
65 AliTRDgeometry *fGeometry; // The TRD geometry
67 Float_t fGasDensity; // The density of the drift gas
68 Float_t fFoilDensity; // The density of the entrance window foil
69 Float_t fGasNobleFraction; // The fraction of noble gas in the mixture
70 Bool_t fPrimaryIonisation; // switch between Fluka(true) and geant3(false)
73 AliTRD(const AliTRD &trd);
74 AliTRD &operator=(const AliTRD &trd);
76 ClassDef(AliTRD,12) // Transition Radiation Detector base class