G4GoudsmitSaundersonMscModel

public G4VMscModel

Kawrakow-Bielajew Goudsmit-Saunderson MSC model based on the screened Rutherford DCS for elastic scattering of e-/e+. Option, to include (Mott) correction (see above), is also available now (SetOptionMottCorrection(true)). An EGSnrc like error-free stepping algorithm (UseSafety) is available beyond the usual Geant4 step limitation algorithms and true to geomerty and geometry to true step length computations that were adopted from the Urban model[5]. The most accurate setting: error-free stepping (UseSafety) with Mott-correction (SetOptionMottCorrection(true)).

class

public:

  G4GoudsmitSaundersonMscModel(const G4String& nam = "GoudsmitSaunderson");

  virtual ~G4GoudsmitSaundersonMscModel();

  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);

  virtual void InitialiseLocal(const G4ParticleDefinition* p, G4VEmModel* masterModel);


  virtual G4ThreeVector& SampleScattering(const G4ThreeVector&, G4double safety);

  virtual G4double ComputeTruePathLengthLimit(const G4Track& track, G4double& currentMinimalStep);

  virtual G4double ComputeGeomPathLength(G4double truePathLength);

  virtual G4double ComputeTrueStepLength(G4double geomStepLength);

  void     StartTracking(G4Track*);

  void     SampleMSC();

  G4double GetTransportMeanFreePath(const G4ParticleDefinition*, G4double);

  void SetOptionPWACorrection(G4bool opt)    { fIsUsePWACorrection = opt; }

  G4bool GetOptionPWACorrection() const      { return fIsUsePWACorrection; }

  void   SetOptionMottCorrection(G4bool opt) { fIsUseMottCorrection = opt; }

  G4bool GetOptionMottCorrection() const     { return fIsUseMottCorrection; }

  G4GoudsmitSaundersonTable* GetGSTable()          { return fGSTable; }

  G4GSPWACorrections*        GetPWACorrection()    { return fPWACorrection; }

private:
  inline void     SetParticle(const G4ParticleDefinition* p);

  inline G4double GetLambda(G4double);

  //  hide assignment operator
  G4GoudsmitSaundersonMscModel & operator=(const  G4GoudsmitSaundersonMscModel &right);
  G4GoudsmitSaundersonMscModel(const  G4GoudsmitSaundersonMscModel&);
  G4double GetTransportMeanFreePathOnly(const G4ParticleDefinition*,G4double);

  inline G4double Randomizetlimit();
© Hongyi Wu            updated: 2018-07-15 07:02:38

results matching ""

    No results matching ""