]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/AliTRD.h
Adding mask handling, where masks are read from the CDB
[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// Manager and hits classes for set: TRD //
10////////////////////////////////////////////////
11
12#include <TLorentzVector.h>
13#include "AliDetector.h"
14#include <TVirtualMC.h>
15
16class TFile;
17class TLorentzVector;
18
19class AliRun;
20class AliDigit;
21
22class AliTRDhit;
23class AliTRDsim;
24class AliTRDgeometry;
25
26//_____________________________________________________________________________
27class AliTRD : public AliDetector {
28
29 public:
30
31 AliTRD();
32 AliTRD(const char *name, const char *title);
33 AliTRD(const AliTRD &trd);
34 virtual ~AliTRD();
35
36 AliTRD &operator=(const AliTRD &trd);
37
38 virtual void AddHit(Int_t, Int_t*, Float_t*) { };
39 virtual void AddHit(Int_t track, Int_t det, Float_t *hits, Int_t q, Bool_t inDrift);
40 virtual void BuildGeometry();
41 virtual void Copy(TObject &trd) const;
42 virtual void CreateGeometry();
43 virtual void CreateMaterials();
44 virtual void DrawModule() const;
45 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
46 virtual void LoadPoints(Int_t track);
47 virtual void Init();
48 virtual Int_t IsVersion() const = 0;
49 virtual void MakeBranch(Option_t* option);
50 virtual void ResetDigits();
51 virtual void StepManager() = 0;
52 virtual void SetTreeAddress();
53
54 virtual void StepManagerErmilova() = 0;
55 virtual void StepManagerGeant() = 0;
56 virtual void StepManagerFixedStep() = 0;
57 virtual void SelectStepManager(Int_t t) = 0;
58 virtual void SetStepSize(Double_t s) = 0;
59
60 virtual void SetHits() {};
61 virtual void SetPHOShole();
62 virtual void SetRICHhole();
63 virtual void SetDrawTR(Int_t idraw = 1) { fDrawTR = idraw; };
64 virtual void SetDisplayType(Int_t type = 0) { fDisplayType = type; };
65
66 AliTRDgeometry *GetGeometry() const { return fGeometry; };
67
68 virtual void SetGasMix(Int_t ) {};
69
70 virtual void SetSensChamber(Int_t ichamber) = 0;
71 virtual void SetSensPlane(Int_t iplane) = 0;
72 virtual void SetSensSector(Int_t isector) = 0;
73 virtual void SetSensSector(Int_t isector, Int_t nsector) = 0;
74
75 virtual Int_t GetSensChamber() const = 0;
76 virtual Int_t GetSensPlane() const = 0;
77 virtual Int_t GetSensSector() const = 0;
78 virtual Int_t GetSensSectorRange() const = 0;
79
80 virtual void Hits2Digits();
81 virtual void Hits2SDigits();
82 virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
83 virtual void SDigits2Digits();
84 virtual void Digits2Raw();
85
86 virtual AliTRDsim *CreateTR() = 0;
87 virtual AliTRDsim *GetTR() const = 0;
88
89 protected:
90
91 AliTRDgeometry *fGeometry; // The TRD geometry
92
93 Float_t fGasDensity; // The density of the drift gas
94 Float_t fFoilDensity; // The density of the entrance window foil
95
96 Int_t fDrawTR; // Switches marking the TR photons in the display
97 Int_t fDisplayType; // Display type (0: normal, 1: detailed)
98
99 ClassDef(AliTRD,8) // Transition Radiation Detector base class
100
101};
102
103#endif