39 #ifndef G4FermiPhaseSpaceDecay_hh 
   40 #define G4FermiPhaseSpaceDecay_hh 1 
   48 #include <CLHEP/Units/PhysicalConstants.h> 
   49 #include <CLHEP/Random/RandomEngine.h> 
   58   inline std::vector<G4LorentzVector*>* 
 
   60         const std::vector<G4double>& fragment_masses) 
const;
 
   67                                        CLHEP::HepRandomEngine*) 
const;
 
   71   std::vector<G4LorentzVector*> * 
 
   88   G4double P = (E+P1+
P2)*(E+P1-P2)*(E-P1+
P2)*(E-P1-P2)/(4.0*E*E);
 
   89   if (P>0.0) { res = std::sqrt(P); }
 
   94 inline std::vector<G4LorentzVector*>* 
 
   96                               const std::vector<G4double>& fragment_masses)
 const 
  103                                     CLHEP::HepRandomEngine* rndmEngine)
 const 
  112     chi = rndmEngine->flat();
 
  113     F = std::sqrt(
g4pow->
powN(chi,N)*(1-chi));      
 
  115    } 
while ( Fmax*rndmEngine->flat() > F);  
 
  121                                         CLHEP::HepRandomEngine* rndmEngine) 
const 
  125   G4double CosTheta = 2.0*rndmEngine->flat() - 1.0;
 
  126   G4double SinTheta = std::sqrt((1. - CosTheta)*(1. + CosTheta));
 
  129                        Magnitude*std::sin(Phi)*SinTheta,
 
const G4FermiPhaseSpaceDecay & operator=(const G4FermiPhaseSpaceDecay &)
 
G4double powN(G4double x, G4int n) const 
 
static const G4double * P1[nN]
 
CLHEP::Hep3Vector G4ThreeVector
 
G4bool operator!=(const G4FermiPhaseSpaceDecay &)
 
G4double PtwoBody(G4double E, G4double P1, G4double P2) const 
 
void DumpProblem(G4double E, G4double P1, G4double P2, G4double P) const 
 
G4bool operator==(const G4FermiPhaseSpaceDecay &)
 
static const double twopi
 
G4double BetaKopylov(G4int, CLHEP::HepRandomEngine *) const 
 
~G4FermiPhaseSpaceDecay()
 
std::vector< G4LorentzVector * > * Decay(G4double parent_mass, const std::vector< G4double > &fragment_masses) const 
 
G4ThreeVector IsotropicVector(G4double Magnitude, CLHEP::HepRandomEngine *) const 
 
static const G4double * P2[nN]
 
std::vector< G4LorentzVector * > * KopylovNBodyDecay(G4double, const std::vector< G4double > &) const