72 massPhi = 1019.46*MeV;
81 G4cout <<
"### G4eeTo3PiModel::~G4eeTo3PiModel: gmax= "
82 << gmax <<
" gcash= " << gcash <<
G4endl;
89 return std::max(
LowEnergy(),2.0*massPi + massPi0);
115 G4double tmax = std::max(tmin, emax);
116 G4int nbins = (
G4int)((tmax - tmin)/(1.*MeV));
134 G4double e0, p0, e2, p, gg, m01, m02, m12;
137 G4double edel = 0.5*e*(1.0 + x0*x0 - 4.0*x1*x1) - massPi0;
142 p0 = sqrt(e0 - massPi0*massPi0);
152 p = sqrt(e2 - massPi*massPi);
174 gg = (px*px + py*py + pz*pz)*
175 norm( 1.0/cross->
DpRho(m01) + 1.0/cross->
DpRho(m02)
176 + 1.0/cross->
DpRho(m12) );
178 G4cout <<
"G4eeTo3PiModel::SampleSecondaries WARNING matrix element g= "
179 << gg <<
" > " << gmax <<
" (majoranta)" <<
G4endl;
181 if(gg > gcash) gcash = gg;
196 newp->push_back(dp0);
197 newp->push_back(dp1);
198 newp->push_back(dp2);
CLHEP::HepLorentzVector G4LorentzVector
G4ThreeVector G4RandomDirection()
G4DLLIMPORT std::ostream G4cout
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
HepLorentzVector & rotateUz(const Hep3Vector &)
G4double GetPDGMass() const
static G4PionMinus * PionMinus()
static G4PionPlus * PionPlus()
static G4PionZero * PionZero()
G4double LowEnergy() const
G4double HighEnergy() const
G4double CrossSection3pi(G4double)
std::complex< G4double > DpRho(G4double e)
virtual G4double ComputeCrossSection(G4double) const
virtual ~G4eeTo3PiModel()
virtual G4PhysicsVector * PhysicsVector(G4double, G4double) const
G4eeTo3PiModel(G4eeCrossSections *)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, G4double, const G4ThreeVector &)
virtual G4double ThresholdEnergy() const
virtual G4double PeakEnergy() const