// Energy spectrum of the delta-rays
Double_t Ermilova(Double_t *x, Double_t *par);
+Double_t IntSpecGeant(Double_t *x, Double_t *par);
-#include <TF1.h>
-
#include "AliTRD.h"
+class TF1;
+class TTree;
+class TFile;
+class AliTRDsim;
+
//_____________________________________________________________________________
class AliTRDv1 : public AliTRD {
virtual ~AliTRDv1();
AliTRDv1 &operator=(const AliTRDv1 &trd);
- virtual void Copy(TObject &trd);
- virtual void CreateGeometry();
- virtual void CreateMaterials();
- virtual Int_t IsVersion() const { return 1; };
- virtual void StepManager();
- virtual void Init();
+ virtual void Copy(TObject &trd) const;
+ virtual void CreateGeometry();
+ virtual void CreateMaterials();
+ virtual void CreateTRhit(Int_t det);
+ virtual Int_t IsVersion() const { return 1; };
+ virtual void StepManager();
+ virtual void Init();
- void SetSensPlane(Int_t iplane = 0);
- void SetSensChamber(Int_t ichamber = 0);
- void SetSensSector(Int_t isector);
- void SetSensSector(Int_t isector, Int_t nsector);
+ void StepManagerErmilova();
+ void StepManagerGeant();
+ void StepManagerFixedStep();
+ void SelectStepManager(Int_t t);
+ void SetStepSize(Double_t s) { fStepSize = s; };
- Int_t GetSensPlane() { return fSensPlane; };
- Int_t GetSensChamber() { return fSensChamber; };
- Int_t GetSensSector() { return fSensSector; };
- Int_t GetSensSectorRange() { return fSensSectorRange; };
+ void SetSensPlane(Int_t iplane = 0);
+ void SetSensChamber(Int_t ichamber = 0);
+ void SetSensSector(Int_t isector);
+ void SetSensSector(Int_t isector, Int_t nsector);
- protected:
+ void SetTR(Bool_t kTRUE) { fTRon = kTRUE; };
- Int_t fIdSens; // Sensitive volume identifier
+ Int_t GetSensPlane() const { return fSensPlane; };
+ Int_t GetSensChamber() const { return fSensChamber; };
+ Int_t GetSensSector() const { return fSensSector; };
+ Int_t GetSensSectorRange() const { return fSensSectorRange; };
- Int_t fIdChamber1; // Driftchamber volume identifier
- Int_t fIdChamber2; // Driftchamber volume identifier
- Int_t fIdChamber3; // Driftchamber volume identifier
+ Bool_t GetTR() const { return fTRon; };
+ AliTRDsim *GetTRDsim() const { return fTR; };
+
+ protected:
+
+ void *StepManagerEntity();
Int_t fSensSelect; // Switch to select only parts of the detector
Int_t fSensPlane; // Sensitive detector plane
Int_t fSensSector; // Sensitive detector sector
Int_t fSensSectorRange; // Sensitive detector range
- private:
+ Bool_t fTRon; // Switch for TR simulation
+ AliTRDsim *fTR; // TR simulator
- virtual Double_t BetheBloch(Double_t bg);
+ Int_t fTypeOfStepManager; // Type of Step Manager.
+ Double_t fStepSize; // Used for the fixed step size
+
+ private:
- TF1 *fDeltaE; // Energy distribution of the delta-electrons
-
- ClassDef(AliTRDv1,1) // Transition Radiation Detector version 1 (slow simulator)
+ Double_t BetheBloch(Double_t bg);
+ Double_t BetheBlochGeant(Double_t bg);
+ void Stepping();
+
+ TF1 *fDeltaE; // Energy distribution of the delta-electrons (Ermilova)
+ TF1 *fDeltaG; // Energy distribution of the
+ // Delta-electrons (GEANT) for StepManagerGeant
+ Float_t fTrackLength0; // Save the track length at chamber entrance
+ Int_t fPrimaryTrackPid; // Save the id of the primary track
+
+ ClassDef(AliTRDv1,4) // Transition Radiation Detector version 1 (slow simulator)
};