TRDrec: installing headers
[u/mrichter/AliRoot.git] / TRD / TRDsim / AliTRD.h
CommitLineData
8230f242 1#ifndef ALITRD_H
2#define ALITRD_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
030b4415 8////////////////////////////////////////////////////////////////////////////
9// //
10// Manager and hits classes for set: TRD //
11// //
12////////////////////////////////////////////////////////////////////////////
793ff80c 13
851d3db9 14
030b4415 15#include "AliDetector.h"
c8b1590d 16#include "AliTRDTrigger.h"
030b4415 17
68119ad1 18class AliRawReader;
793ff80c 19
793ff80c 20class AliTRDgeometry;
c8b1590d 21class AliTriggerDetector;
82bbf98a 22
fe4da5cc 23class AliTRD : public AliDetector {
5c7f4665 24
851d3db9 25 public:
5c7f4665 26
851d3db9 27 AliTRD();
28 AliTRD(const char *name, const char *title);
030b4415 29 virtual ~AliTRD();
30
030b4415 31 virtual void Init();
32 virtual Int_t IsVersion() const = 0;
33 virtual void ResetDigits();
34
030b4415 35 virtual void CreateGeometry();
36 virtual void CreateMaterials();
030b4415 37
38 virtual void Hits2Digits();
39 virtual void Hits2SDigits();
40 virtual void SDigits2Digits();
41 virtual void Digits2Raw();
68119ad1 42 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
030b4415 43
44 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
2fa01832 45 virtual void AddHit(Int_t track, Int_t det, Float_t *hits
46 , Int_t q, Float_t time, Bool_t inDrift);
030b4415 47
48 virtual void SetTreeAddress();
49
50 virtual void StepManager() = 0;
030b4415 51
52 virtual void SetStepSize(Double_t s) = 0;
53 virtual void SetHits() { };
030b4415 54 virtual void SetTR(Bool_t ) = 0;
55
56 virtual Bool_t GetTR() const = 0;
6f1e466d 57
32b13758 58 AliTRDgeometry *GetGeometry() const { return fGeometry; };
f21fc003 59 virtual AliDigitizer *CreateDigitizer(AliDigitizationInput* digInput) const;
32b13758 60 virtual AliLoader *MakeLoader(const char* topfoldername);
61 virtual AliTriggerDetector *CreateTriggerDetector() const { return new AliTRDTrigger(); }
674812e4 62 void SetPrimaryIonisation(Bool_t flag = kTRUE) {fPrimaryIonisation = flag;}
851d3db9 63 protected:
5c7f4665 64
2d0eca96 65 AliTRDgeometry *fGeometry; // The TRD geometry
793ff80c 66
2d0eca96 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
674812e4 70 Bool_t fPrimaryIonisation; // switch between Fluka(true) and geant3(false)
e939a978 71 private:
68119ad1 72
e939a978 73 AliTRD(const AliTRD &trd);
74 AliTRD &operator=(const AliTRD &trd);
75
ec556e81 76 ClassDef(AliTRD,12) // Transition Radiation Detector base class
5c7f4665 77
78};
99d5402e 79
fe4da5cc 80#endif