]> 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 ae846aa6844468060db7ed2c2c6c03cd609786fe..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 "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,37 +39,56 @@ 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:
 
+  void        *StepManagerEntity();
+
   Int_t        fSensSelect;             // Switch to select only parts of the detector
   Int_t        fSensPlane;              // Sensitive detector plane
   Int_t        fSensChamber;            // Sensitive detector chamber
   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,2)                  // 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)
 
 };