]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/AliTRD.h
from Ruediger
[u/mrichter/AliRoot.git] / TRD / AliTRD.h
... / ...
CommitLineData
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#include "AliTRDTrigger.h"
17
18class AliRawReader;
19
20class AliTRDgeometry;
21class AliTriggerDetector;
22
23class AliTRD : public AliDetector {
24
25 public:
26
27 AliTRD();
28 AliTRD(const char *name, const char *title);
29 virtual ~AliTRD();
30
31 virtual void Init();
32 virtual Int_t IsVersion() const = 0;
33 virtual void ResetDigits();
34
35 virtual void CreateGeometry();
36 virtual void CreateMaterials();
37
38 virtual void Hits2Digits();
39 virtual void Hits2SDigits();
40 virtual void SDigits2Digits();
41 virtual void Digits2Raw();
42 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
43
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);
47
48 virtual void SetTreeAddress();
49
50 virtual void StepManager() = 0;
51
52 virtual void SetStepSize(Double_t s) = 0;
53 virtual void SetHits() { };
54 virtual void SetTR(Bool_t ) = 0;
55
56 virtual Bool_t GetTR() const = 0;
57
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;}
63 protected:
64
65 AliTRDgeometry *fGeometry; // The TRD geometry
66
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)
71 private:
72
73 AliTRD(const AliTRD &trd);
74 AliTRD &operator=(const AliTRD &trd);
75
76 ClassDef(AliTRD,12) // Transition Radiation Detector base class
77
78};
79
80#endif