]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRD.h
Air with increased transport cuts close to qb28.
[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*) { };
2fa01832 57 virtual void AddHit(Int_t track, Int_t det, Float_t *hits
58 , Int_t q, Float_t time, Bool_t inDrift);
030b4415 59
60 virtual void SetTreeAddress();
61
62 virtual void StepManager() = 0;
63 virtual void StepManagerErmilova() = 0;
64 virtual void StepManagerGeant() = 0;
65 virtual void StepManagerFixedStep() = 0;
66 virtual void SelectStepManager(Int_t t) = 0;
67
68 virtual void SetStepSize(Double_t s) = 0;
69 virtual void SetHits() { };
70 virtual void SetDrawTR(Int_t idraw = 1) { fDrawTR = idraw; };
71 virtual void SetDisplayType(Int_t type = 0) { fDisplayType = type; };
72 virtual void SetTR(Bool_t ) = 0;
73
74 virtual Bool_t GetTR() const = 0;
75 AliTRDgeometry *GetGeometry() const { return fGeometry; };
6f1e466d 76
030b4415 77 virtual AliDigitizer *CreateDigitizer(AliRunDigitizer *manager) const;
e3b2b5e5 78 virtual AliTRDTriggerL1 *CreateTriggerDetector() const { return new AliTRDTriggerL1(); };
79
851d3db9 80 protected:
5c7f4665 81
030b4415 82 AliTRDgeometry *fGeometry; // The TRD geometry
5c7f4665 83
030b4415 84 Float_t fGasDensity; // The density of the drift gas
85 Float_t fFoilDensity; // The density of the entrance window foil
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:
91 AliTRD(const AliTRD &trd);
92 AliTRD &operator=(const AliTRD &trd);
93
030b4415 94 ClassDef(AliTRD,9) // Transition Radiation Detector base class
5c7f4665 95
96};
99d5402e 97
fe4da5cc 98#endif