00001 //Back scatter biasing 00002 00003 #ifndef BACKSCATTERBIAS_HH 00004 #define BACKSCATTERBIAS_HH 00005 00006 #include "G4WrapperProcess.hh" 00007 #include "G4RunManager.hh" 00008 00009 class BDSBackScatterBias :public G4WrapperProcess 00010 { 00011 public: 00012 // destructor 00013 virtual ~BDSBackScatterBias(); 00014 00015 public: // with description 00016 // constructor requires the process name and type 00017 BDSBackScatterBias(const G4String& aName = "X-", 00018 G4ProcessType aType = fNotDefined ); 00019 00020 // copy constructor copys the name but does not copy the 00021 // physics table (0 pointer is assigned) 00022 BDSBackScatterBias(const BDSBackScatterBias &right); 00023 00024 // Set/Get methods for the enhancement factor 00025 void SetEnhanceFactor( G4double ) ; 00026 G4double GetEnhanceFactor ( ) const; 00027 // 00028 00030 // DoIt ///////////////// 00032 virtual G4VParticleChange* PostStepDoIt( 00033 const G4Track& track, 00034 const G4Step& stepData 00035 ); 00036 00037 private: 00038 00039 G4double eFactor; // enhancement factor to the cross-setion 00040 00041 }; 00042 00043 inline G4double BDSBackScatterBias::GetEnhanceFactor () const 00044 { return eFactor;} 00045 00046 inline void BDSBackScatterBias::SetEnhanceFactor (G4double dval) 00047 { eFactor = dval;} 00048 00049 #endif 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062