]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRD.h
bugfix #38673 (Kenneth): last pad per row was always ignored; corrected cleanup og...
[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
44 virtual void BuildGeometry();
45 virtual void CreateGeometry();
46 virtual void CreateMaterials();
47 virtual void DrawModule() const;
030b4415 48 virtual void LoadPoints(Int_t track);
49
50 virtual void Hits2Digits();
51 virtual void Hits2SDigits();
52 virtual void SDigits2Digits();
53 virtual void Digits2Raw();
68119ad1 54 virtual Bool_t Raw2SDigits(AliRawReader* rawReader);
030b4415 55 virtual void MakeBranch(Option_t *option);
56
57 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
2fa01832 58 virtual void AddHit(Int_t track, Int_t det, Float_t *hits
59 , Int_t q, Float_t time, Bool_t inDrift);
030b4415 60
61 virtual void SetTreeAddress();
62
63 virtual void StepManager() = 0;
64 virtual void StepManagerErmilova() = 0;
65 virtual void StepManagerGeant() = 0;
66 virtual void StepManagerFixedStep() = 0;
67 virtual void SelectStepManager(Int_t t) = 0;
68
69 virtual void SetStepSize(Double_t s) = 0;
70 virtual void SetHits() { };
71 virtual void SetDrawTR(Int_t idraw = 1) { fDrawTR = idraw; };
72 virtual void SetDisplayType(Int_t type = 0) { fDisplayType = type; };
73 virtual void SetTR(Bool_t ) = 0;
74
75 virtual Bool_t GetTR() const = 0;
76 AliTRDgeometry *GetGeometry() const { return fGeometry; };
6f1e466d 77
030b4415 78 virtual AliDigitizer *CreateDigitizer(AliRunDigitizer *manager) const;
e3b2b5e5 79 virtual AliTRDTriggerL1 *CreateTriggerDetector() const { return new AliTRDTriggerL1(); };
80
851d3db9 81 protected:
5c7f4665 82
030b4415 83 AliTRDgeometry *fGeometry; // The TRD geometry
5c7f4665 84
030b4415 85 Float_t fGasDensity; // The density of the drift gas
86 Float_t fFoilDensity; // The density of the entrance window foil
f2979d08 87 Float_t fGasNobleFraction; // The fraction of noble gas in the mixture
793ff80c 88
030b4415 89 Int_t fDrawTR; // Switches marking the TR photons in the display
90 Int_t fDisplayType; // Display type (0: normal, 1: detailed)
793ff80c 91
e939a978 92 private:
68119ad1 93
e939a978 94 AliTRD(const AliTRD &trd);
95 AliTRD &operator=(const AliTRD &trd);
96
f2979d08 97 ClassDef(AliTRD,10) // Transition Radiation Detector base class
5c7f4665 98
99};
99d5402e 100
fe4da5cc 101#endif