]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDv1.h
Corrected call to the static method AliBitPacking::UnpackWord
[u/mrichter/AliRoot.git] / TRD / AliTRDv1.h
index 2745ecb8667ae5cfbdf3060b1e3e5179547aa7a3..118300148ceb723b75fd3e830e2191550b08d5c9 100644 (file)
 
 // 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 {
 
@@ -27,30 +31,38 @@ 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
@@ -58,13 +70,25 @@ class AliTRDv1 : public AliTRD {
   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)
 
 };