Update TRD code from C.Blume
[u/mrichter/AliRoot.git] / TRD / AliTRD.h
CommitLineData
fe4da5cc 1#ifndef TRD_H
2#define TRD_H
3////////////////////////////////////////////////
d3f347ff 4// Manager and hits classes for set: TRD //
fe4da5cc 5////////////////////////////////////////////////
6
7#include "AliDetector.h"
8#include "AliHit.h"
99d5402e 9#include "AliDigit.h"
82bbf98a 10#include "AliTRDconst.h"
11
12//_____________________________________________________________________________
fe4da5cc 13class AliTRD : public AliDetector {
14
d3f347ff 15protected:
82bbf98a 16 Int_t fGasMix; // Gas mixture. 0: Xe/Isobutane 1: Xe/CO2
d3f347ff 17
82bbf98a 18 Float_t fClengthI[kNplan]; // Length of the inner chambers
19 Float_t fClengthM[kNplan]; // Length of the middle chambers
20 Float_t fClengthO[kNplan]; // Length of the outer chambers
21 Float_t fCwidth[kNplan]; // Width of the chambers
d3f347ff 22
fe4da5cc 23public:
24 AliTRD();
25 AliTRD(const char *name, const char *title);
99d5402e 26 virtual ~AliTRD();
fe4da5cc 27 virtual void AddHit(Int_t, Int_t*, Float_t*);
99d5402e 28 virtual void AddDigit(Int_t*, Int_t*);
fe4da5cc 29 virtual void BuildGeometry();
82bbf98a 30 virtual void CreateGeometry();
fe4da5cc 31 virtual void CreateMaterials();
82bbf98a 32 virtual void DrawModule();
fe4da5cc 33 Int_t DistancetoPrimitive(Int_t px, Int_t py);
34 virtual void Init();
82bbf98a 35 virtual Int_t IsVersion() const = 0;
36 virtual void StepManager() = 0;
d3f347ff 37 virtual void SetGasMix(Int_t imix = 0);
fa1fa361 38 virtual void SetHits(Int_t ) {};
39 virtual void SetSensPlane(Int_t) {};
40 virtual void SetSensChamber(Int_t) {};
41 virtual void SetSensSector(Int_t ) {};
d3f347ff 42
82bbf98a 43 ClassDef(AliTRD,1) // Transition Radiation Detector base class
d3f347ff 44
82bbf98a 45};
d3f347ff 46
fe4da5cc 47//_____________________________________________________________________________
48class AliTRDhit : public AliHit {
49
50public:
51 Int_t fSector; // TRD sector number
52 Int_t fChamber; // TRD chamber number
53 Int_t fPlane; // TRD plane number
54 Float_t fQ; // Charge created by a hit (geometry 2)
55
56public:
57 AliTRDhit() {}
58 AliTRDhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
99d5402e 59 virtual ~AliTRDhit() {};
fe4da5cc 60
61 ClassDef(AliTRDhit,1) // Hits for Transition Radiation Detector
82bbf98a 62
fe4da5cc 63};
64
99d5402e 65//_____________________________________________________________________________
66class AliTRDdigit : public AliDigit {
67
68public:
69 Int_t fSector; // TRD sector number
70 Int_t fChamber; // TRD chamber number
71 Int_t fPlane; // TRD plane number
72 Int_t fRow; // Pad row number
73 Int_t fCol; // Pad col number
74 Int_t fTime; // Time bucket
75 Int_t fSignal; // Signal amplitude
76
77public:
78 AliTRDdigit() {};
79 AliTRDdigit(Int_t *tracks, Int_t *digits);
80 virtual ~AliTRDdigit() {};
81
82 ClassDef(AliTRDdigit,1) // Digits for Transition Radiation Detector
83
84};
85
86
fe4da5cc 87#endif