56 G4int tempdep, nLegendre;
58 for (i=0; i<nEnergy; i++)
60 aDataFile >> temp >> energy >> tempdep >> nLegendre;
65 for(ii=0; ii<nLegendre; ii++)
81 for(
G4int i=0; i<nEnergy; i++)
83 aDataFile >> temp >> energy >> tempdep;
93 G4cout <<
"unknown distribution found for Angular"<<
G4endl;
94 throw G4HadronicException(__FILE__, __LINE__,
"unknown distribution needs implementation!!!");
139 G4cout <<
"unknown distribution found for Angular"<<
G4endl;
140 throw G4HadronicException(__FILE__, __LINE__,
"unknown distribution needs implementation!!!");
146 G4ThreeVector temp(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
167 G4cout <<
"unknown distribution found for Angular"<<
G4endl;
168 throw G4HadronicException(__FILE__, __LINE__,
"unknown distribution needs implementation!!!");
199 G4ThreeVector temp(sinth*std::cos(phi), sinth*std::sin(phi), std::cos(theta) );
252 G4double kinE = (A1+1-A1prim)/(A1+1)/(A1+1)*(A1*kineticEnergy+(1+A1)*QValue);
256 if ( mom2 > 0.0 ) mom = std::sqrt( mom2 );
274 G4double cmsMom = std::sqrt(the3trafo*the3trafo);
275 G4double sqrts = std::sqrt((totE-cmsMom)*(totE+cmsMom));
279 aHadron.
Lorentz(aHadron, trafo);
284 throw G4HadronicException(__FILE__, __LINE__,
"Tried to sample non isotropic neutron angular");
G4double SampleMax(G4double energy)
G4double GetTotalMomentum() const
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
CLHEP::Hep3Vector G4ThreeVector
void SetKineticEnergy(const G4double en)
void Init(G4int i, G4double e, G4int n)
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetCoeff(G4int i, G4int l, G4double coeff)
void SetT(G4int i, G4double x)
void SetMass(const G4double mas)
G4GLOB_DLL std::ostream G4cout
void SetX(G4int i, G4double x)
void SetTotalEnergy(const G4double en)
void InitData(G4int i, std::istream &aDataFile, G4double unit=1.)
void Init(std::istream &aDataFile)
void InitInterpolation(std::istream &aDataFile)
G4NeutronHPPartial * theProbArray
G4double GetKineticEnergy() const
void SampleAndUpdate(G4ReactionProduct &aNeutron)
G4double GetTotalEnergy() const
G4Cache< toBeCached > fCache
G4double energy(const ThreeVector &p, const G4double m)
G4int theAngularDistributionType
G4ThreeVector GetMomentum() const
void InitInterpolation(G4int i, std::istream &aDataFile)
G4NeutronHPLegendreStore * theCoefficients
void SetTemperature(G4int i, G4double temp)
G4double Sample(G4double x)