propagate cluster error parametrization
[u/mrichter/AliRoot.git] / TRD / 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
88cb7938 14#include <TLorentzVector.h>
2d74ba4f 15#include <TVirtualMC.h>
851d3db9 16
030b4415 17#include "AliDetector.h"
18
e3b2b5e5 19#include "AliTRDTriggerL1.h"
20
2ab0c725 21class TFile;
c61f1a66 22class TLorentzVector;
2ab0c725 23
793ff80c 24class AliRun;
25class AliDigit;
68119ad1 26class AliRawReader;
793ff80c 27
28class AliTRDhit;
29class AliTRDsim;
30class AliTRDgeometry;
82bbf98a 31
fe4da5cc 32class AliTRD : public AliDetector {
5c7f4665 33
851d3db9 34 public:
5c7f4665 35
851d3db9 36 AliTRD();
37 AliTRD(const char *name, const char *title);
030b4415 38 virtual ~AliTRD();
39
030b4415 40 virtual void Init();
41 virtual Int_t IsVersion() const = 0;
42 virtual void ResetDigits();
43
030b4415 44 virtual void CreateGeometry();
45 virtual void CreateMaterials();
46 virtual void DrawModule() const;
030b4415 47
48 virtual void Hits2Digits();
49 virtual void Hits2SDigits();
50 virtual void SDigits2Digits();
51 virtual void Digits2Raw();
68119ad1 52 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
030b4415 53
54 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
2fa01832 55 virtual void AddHit(Int_t track, Int_t det, Float_t *hits
56 , Int_t q, Float_t time, Bool_t inDrift);
030b4415 57
58 virtual void SetTreeAddress();
59
60 virtual void StepManager() = 0;
61 virtual void StepManagerErmilova() = 0;
62 virtual void StepManagerGeant() = 0;
63 virtual void StepManagerFixedStep() = 0;
64 virtual void SelectStepManager(Int_t t) = 0;
65
66 virtual void SetStepSize(Double_t s) = 0;
67 virtual void SetHits() { };
68 virtual void SetDrawTR(Int_t idraw = 1) { fDrawTR = idraw; };
69 virtual void SetDisplayType(Int_t type = 0) { fDisplayType = type; };
70 virtual void SetTR(Bool_t ) = 0;
71
72 virtual Bool_t GetTR() const = 0;
73 AliTRDgeometry *GetGeometry() const { return fGeometry; };
6f1e466d 74
030b4415 75 virtual AliDigitizer *CreateDigitizer(AliRunDigitizer *manager) const;
e3b2b5e5 76 virtual AliTRDTriggerL1 *CreateTriggerDetector() const { return new AliTRDTriggerL1(); };
9c7c9ec1 77 virtual AliLoader* MakeLoader(const char* topfoldername);
e3b2b5e5 78
851d3db9 79 protected:
5c7f4665 80
030b4415 81 AliTRDgeometry *fGeometry; // The TRD geometry
5c7f4665 82
030b4415 83 Float_t fGasDensity; // The density of the drift gas
84 Float_t fFoilDensity; // The density of the entrance window foil
f2979d08 85 Float_t fGasNobleFraction; // The fraction of noble gas in the mixture
793ff80c 86
030b4415 87 Int_t fDrawTR; // Switches marking the TR photons in the display
88 Int_t fDisplayType; // Display type (0: normal, 1: detailed)
793ff80c 89
e939a978 90 private:
68119ad1 91
e939a978 92 AliTRD(const AliTRD &trd);
93 AliTRD &operator=(const AliTRD &trd);
94
f2979d08 95 ClassDef(AliTRD,10) // Transition Radiation Detector base class
5c7f4665 96
97};
99d5402e 98
fe4da5cc 99#endif