]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TRD/AliTRDv1.h
- Return from Gstpar if material is not used.
[u/mrichter/AliRoot.git] / TRD / AliTRDv1.h
... / ...
CommitLineData
1#ifndef ALITRDV1_H
2#define ALITRDV1_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 version 1 //
10////////////////////////////////////////////////////////
11
12// Energy spectrum of the delta-rays
13Double_t Ermilova(Double_t *x, Double_t *par);
14Double_t IntSpecGeant(Double_t *x, Double_t *par);
15
16#include "AliTRD.h"
17
18class TF1;
19
20class AliTRDsim;
21
22//_____________________________________________________________________________
23class AliTRDv1 : public AliTRD {
24
25 public:
26
27 AliTRDv1();
28 AliTRDv1(const char *name, const char *title);
29 AliTRDv1(const AliTRDv1 &trd);
30 virtual ~AliTRDv1();
31 AliTRDv1 &operator=(const AliTRDv1 &trd);
32
33 virtual void Copy(TObject &trd);
34 virtual void CreateGeometry();
35 virtual void CreateMaterials();
36 virtual void CreateTRhit(Int_t det);
37 virtual Int_t IsVersion() const { return 1; };
38 virtual void StepManager();
39 virtual void Init();
40
41 void StepManagerErmilova();
42 void StepManagerGeant();
43 void StepManagerFixedStep();
44 void SelectStepManager(Int_t t);
45 void SetStepSize(Double_t s) { fStepSize = s; };
46
47 void SetSensPlane(Int_t iplane = 0);
48 void SetSensChamber(Int_t ichamber = 0);
49 void SetSensSector(Int_t isector);
50 void SetSensSector(Int_t isector, Int_t nsector);
51
52 AliTRDsim *CreateTR();
53
54 Int_t GetSensPlane() const { return fSensPlane; };
55 Int_t GetSensChamber() const { return fSensChamber; };
56 Int_t GetSensSector() const { return fSensSector; };
57 Int_t GetSensSectorRange() const { return fSensSectorRange; };
58
59 AliTRDsim *GetTR() const { return fTR; };
60
61 protected:
62
63 void *StepManagerEntity();
64
65 Int_t fSensSelect; // Switch to select only parts of the detector
66 Int_t fSensPlane; // Sensitive detector plane
67 Int_t fSensChamber; // Sensitive detector chamber
68 Int_t fSensSector; // Sensitive detector sector
69 Int_t fSensSectorRange; // Sensitive detector range
70
71 AliTRDsim *fTR; // TR simulator
72
73 Int_t fTypeOfStepManager; // Type of Step Manager.
74 Double_t fStepSize; // Used for the fixed step size
75
76 private:
77
78 virtual Double_t BetheBloch(Double_t bg);
79
80 TF1 *fDeltaE; // Energy distribution of the delta-electrons (Ermilova)
81 TF1 *fDeltaG; // for StepManagerGeant
82
83 ClassDef(AliTRDv1,3) // Transition Radiation Detector version 1 (slow simulator)
84
85};
86
87#endif