79 massPhi = 1019.46*
MeV;
113 G4LorentzVector w0(0.,0.,0.,0.), w1(0.,0.,0.,0.), w2(0.,0.,0.,0.);
115 G4double e0, p0, e2,
p, gg, m01, m02, m12;
118 G4double edel = 0.5*e*(1.0 + x0*x0 - 4.0*x1*x1) - massPi0;
120 const G4int nmax = 200;
126 p0 = sqrt(e0*e0 - massPi0*massPi0);
136 p = sqrt(e2 - massPi*massPi);
161 gg = (px*px + py*py + pz*pz)*
166 G4cout <<
"G4eeTo3PiModel::SampleSecondaries WARNING matrix element g= "
167 << gg <<
" > " << gmax <<
" (majoranta)" <<
G4endl;
173 w0.rotateUz(direction);
174 w1.rotateUz(direction);
184 newp->push_back(dp0);
185 newp->push_back(dp1);
186 newp->push_back(dp2);
Hep3Vector boostVector() const
G4eeTo3PiModel(G4eeCrossSections *, G4double, G4double)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, G4double, const G4ThreeVector &) override
G4ThreeVector G4RandomDirection()
G4double CrossSection3pi(G4double)
virtual G4double PeakEnergy() const override
std::complex< G4double > DpRho(G4double e)
G4GLOB_DLL std::ostream G4cout
virtual G4double ComputeCrossSection(G4double) const override
HepLorentzVector & boost(double, double, double)
static G4PionPlus * PionPlus()
HepLorentzVector & rotateUz(const Hep3Vector &)
static G4PionZero * PionZero()
void set(double x, double y, double z, double t)
G4double GetPDGMass() const
static G4PionMinus * PionMinus()
static constexpr double GeV
G4eeCrossSections * cross
static constexpr double MeV
G4double HighEnergy() const
virtual ~G4eeTo3PiModel()
CLHEP::HepLorentzVector G4LorentzVector