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