#include <G4HadPhaseSpaceKopylov.hh>
Definition at line 38 of file G4HadPhaseSpaceKopylov.hh.
G4HadPhaseSpaceKopylov::G4HadPhaseSpaceKopylov |
( |
G4int |
verbose = 0 | ) |
|
|
inline |
virtual G4HadPhaseSpaceKopylov::~G4HadPhaseSpaceKopylov |
( |
| ) |
|
|
inlinevirtual |
Definition at line 93 of file G4HadPhaseSpaceKopylov.cc.
98 G4double Fmax = std::sqrt(g4pow->
powN(xN/(xN+1.),N)/(xN+1.));
101 const G4int maxNumberOfLoops = 10000;
102 G4int loopCounter = 0;
105 F = std::sqrt(g4pow->
powN(chi,N)*(1.-chi));
106 }
while ( ( Fmax*
G4UniformRand() > F ) && ++loopCounter < maxNumberOfLoops );
107 if ( loopCounter >= maxNumberOfLoops ) {
109 ed <<
" Failed sampling after maxNumberOfLoops attempts : forced exit" <<
G4endl;
static G4Pow * GetInstance()
G4double powN(G4double x, G4int n) const
std::ostringstream G4ExceptionDescription
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Implements G4VHadDecayAlgorithm.
Definition at line 45 of file G4HadPhaseSpaceKopylov.cc.
52 size_t N = masses.size();
55 G4double mtot = std::accumulate(masses.begin(), masses.end(), 0.0);
64 for (
size_t k=N-1; k>0; --k) {
75 PFragCM.setVectM(RandVector,masses[k]);
76 PRestCM.setVectM(-RandVector,RestMass);
80 PFragCM.boost(BoostV);
81 PRestCM.boost(BoostV);
84 finalState[k] = PFragCM;
87 finalState[0] = PRestLab;
G4int GetVerboseLevel() const
G4GLOB_DLL std::ostream G4cout
G4double BetaKopylov(G4int K) const
const G4String & GetName() const
G4double TwoBodyMomentum(G4double M0, G4double M1, G4double M2) const
G4ThreeVector UniformVector(G4double mag=1.) const
The documentation for this class was generated from the following files: