X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=TRD%2FAliTRDv1.h;h=118300148ceb723b75fd3e830e2191550b08d5c9;hb=31af5828f154e8712a0f26fa19c698e91e963790;hp=4ea33da7c2e4a82ecc31527169bb33310a3c1b55;hpb=f73816f54c0ba01fb3b77b5b6111c2b70ee4383a;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDv1.h b/TRD/AliTRDv1.h index 4ea33da7c2e..118300148ce 100644 --- a/TRD/AliTRDv1.h +++ b/TRD/AliTRDv1.h @@ -11,11 +11,13 @@ // 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 "AliTRD.h" class TF1; - +class TTree; +class TFile; class AliTRDsim; //_____________________________________________________________________________ @@ -29,7 +31,7 @@ class AliTRDv1 : public AliTRD { virtual ~AliTRDv1(); AliTRDv1 &operator=(const AliTRDv1 &trd); - virtual void Copy(TObject &trd); + virtual void Copy(TObject &trd) const; virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void CreateTRhit(Int_t det); @@ -37,28 +39,30 @@ class AliTRDv1 : public AliTRD { virtual void StepManager(); virtual void Init(); + void StepManagerErmilova(); + void StepManagerGeant(); + void StepManagerFixedStep(); + void SelectStepManager(Int_t t); + void SetStepSize(Double_t s) { fStepSize = s; }; + 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); - AliTRDsim *CreateTR(); + void SetTR(Bool_t kTRUE) { fTRon = kTRUE; }; Int_t GetSensPlane() const { return fSensPlane; }; Int_t GetSensChamber() const { return fSensChamber; }; Int_t GetSensSector() const { return fSensSector; }; Int_t GetSensSectorRange() const { return fSensSectorRange; }; - AliTRDsim *GetTR() const { return fTR; }; + Bool_t GetTR() const { return fTRon; }; + AliTRDsim *GetTRDsim() const { return fTR; }; protected: - Int_t fIdSensDr; // Sensitive volume identifier (drift region) - Int_t fIdSensAm; // Sensitive volume identifier (amplification region) - - Int_t fIdChamber1; // Driftchamber volume identifier - Int_t fIdChamber2; // Driftchamber volume identifier - Int_t fIdChamber3; // Driftchamber volume identifier + void *StepManagerEntity(); Int_t fSensSelect; // Switch to select only parts of the detector Int_t fSensPlane; // Sensitive detector plane @@ -66,15 +70,25 @@ class AliTRDv1 : public AliTRD { Int_t fSensSector; // Sensitive detector sector Int_t fSensSectorRange; // Sensitive detector range + Bool_t fTRon; // Switch for TR simulation AliTRDsim *fTR; // TR simulator - private: + Int_t fTypeOfStepManager; // Type of Step Manager. + Double_t fStepSize; // Used for the fixed step size - virtual Double_t BetheBloch(Double_t bg); + 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) };