Replace AliTRDCalibra
[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;
26
27class AliTRDhit;
28class AliTRDsim;
29class AliTRDgeometry;
82bbf98a 30
fe4da5cc 31class AliTRD : public AliDetector {
5c7f4665 32
851d3db9 33 public:
5c7f4665 34
851d3db9 35 AliTRD();
36 AliTRD(const char *name, const char *title);
030b4415 37 virtual ~AliTRD();
38
030b4415 39 virtual void Init();
40 virtual Int_t IsVersion() const = 0;
41 virtual void ResetDigits();
42
43 virtual void BuildGeometry();
44 virtual void CreateGeometry();
45 virtual void CreateMaterials();
46 virtual void DrawModule() const;
47 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
48 virtual void LoadPoints(Int_t track);
49
50 virtual void Hits2Digits();
51 virtual void Hits2SDigits();
52 virtual void SDigits2Digits();
53 virtual void Digits2Raw();
54 virtual void MakeBranch(Option_t *option);
55
56 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
57 virtual void AddHit(Int_t track, Int_t det, Float_t *hits, Int_t q, Bool_t inDrift);
58
59 virtual void SetTreeAddress();
60
61 virtual void StepManager() = 0;
62 virtual void StepManagerErmilova() = 0;
63 virtual void StepManagerGeant() = 0;
64 virtual void StepManagerFixedStep() = 0;
65 virtual void SelectStepManager(Int_t t) = 0;
66
67 virtual void SetStepSize(Double_t s) = 0;
68 virtual void SetHits() { };
69 virtual void SetDrawTR(Int_t idraw = 1) { fDrawTR = idraw; };
70 virtual void SetDisplayType(Int_t type = 0) { fDisplayType = type; };
71 virtual void SetTR(Bool_t ) = 0;
72
73 virtual Bool_t GetTR() const = 0;
74 AliTRDgeometry *GetGeometry() const { return fGeometry; };
6f1e466d 75
030b4415 76 virtual AliDigitizer *CreateDigitizer(AliRunDigitizer *manager) const;
e3b2b5e5 77 virtual AliTRDTriggerL1 *CreateTriggerDetector() const { return new AliTRDTriggerL1(); };
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
793ff80c 85
030b4415 86 Int_t fDrawTR; // Switches marking the TR photons in the display
87 Int_t fDisplayType; // Display type (0: normal, 1: detailed)
793ff80c 88
e939a978 89 private:
90 AliTRD(const AliTRD &trd);
91 AliTRD &operator=(const AliTRD &trd);
92
030b4415 93 ClassDef(AliTRD,9) // Transition Radiation Detector base class
5c7f4665 94
95};
99d5402e 96
fe4da5cc 97#endif