]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDv1.h
The present commit corresponds to an important change in the way the
[u/mrichter/AliRoot.git] / TRD / AliTRDv1.h
index 010ede3e9eb41bad33530c83c42129465b7a5ef8..5138ef87ea2419cc6813e253f9721ca1b60b5829 100644 (file)
@@ -5,9 +5,11 @@
 
 /* $Id$ */
 
-////////////////////////////////////////////////////////
-//  Manager and hits classes for set:TRD version 1    //
-////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
+//                                                                        //
+//  Manager and hits classes for set: TRD version 1                       //
+//                                                                        //
+////////////////////////////////////////////////////////////////////////////
 
 // Energy spectrum of the delta-rays 
 Double_t Ermilova(Double_t *x, Double_t *par);
@@ -18,7 +20,8 @@ Double_t IntSpecGeant(Double_t *x, Double_t *par);
 class TF1;
 class TTree;
 class TFile;
-class AliTRDsim;
+
+class AliTRDsimTR;
 
 //_____________________________________________________________________________
 class AliTRDv1 : public AliTRD {
@@ -27,67 +30,56 @@ class AliTRDv1 : public AliTRD {
 
   AliTRDv1();
   AliTRDv1(const char *name, const char *title);
-  AliTRDv1(const AliTRDv1 &trd);
   virtual ~AliTRDv1();
-  AliTRDv1 &operator=(const AliTRDv1 &trd);
 
-  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();
+  virtual void     Init();
+  virtual Int_t    IsVersion() const          { return 1;      }
 
-          void       StepManagerErmilova();
-          void       StepManagerGeant();
-          void       StepManagerFixedStep();
-          void       SelectStepManager(Int_t t);
-          void       SetStepSize(Double_t s)    { fStepSize = s; };
+  virtual void     AddAlignableVolumes() const;
+  virtual void     CreateGeometry();
+  virtual void     CreateMaterials();
+  virtual void     CreateTRhit(Int_t det);
 
-          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);
+  virtual void     StepManager();
+          void     StepManagerErmilova();
+          void     StepManagerGeant();
+          void     StepManagerFixedStep();
+          void     SelectStepManager(Int_t t);
 
-          AliTRDsim *CreateTR();
+          void     SetStepSize(Double_t s)    { fStepSize = s; }
+          void     SetTR(Bool_t)              { 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;  }
+  AliTRDsimTR     *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
+          void    *StepManagerEntity();
 
-  AliTRDsim   *fTR;                     // TR simulator
+          Bool_t   fTRon;               //  Switch for TR simulation
+  AliTRDsimTR     *fTR;                 //  TR simulator
 
-  Int_t        fTypeOfStepManager;      // Type of Step Manager.
-  Double_t     fStepSize;               // Used for the fixed step size
+          Int_t    fTypeOfStepManager;  //  Type of Step Manager.
+          Double_t fStepSize;           //  Used for the fixed step size
 
  private:
 
-  Double_t     BetheBloch(Double_t bg);
-  Double_t     BetheBlochGeant(Double_t bg);
-       void                    Stepping();
+  AliTRDv1(const AliTRDv1 &trd);
+  AliTRDv1 &operator=(const AliTRDv1 &trd);
+
+          Double_t BetheBloch(Double_t bg);
+          Double_t BetheBlochGeant(Double_t bg);
   
-       TF1         *fDeltaE;                 // Energy distribution of the delta-electrons (Ermilova)
+          Float_t  fWion;               //  Ionization potential
+
+          TF1     *fDeltaE;             //  Energy distribution of the delta-electrons (Ermilova)
+          TF1     *fDeltaG;             //  Energy distribution of the
+
+          Float_t  fTrackLength0;       //  Save the track length at chamber entrance  
+          Int_t           fPrimaryTrackPid;    //  Save the id of the primary track  
 
-  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,7)                  //  Transition Radiation Detector version 1 (slow simulator)
 
-  ClassDef(AliTRDv1,3)                  // Transition Radiation Detector version 1 (slow simulator)
 };
 
 #endif