29#ifndef G4NeutronHPProduct_h
30#define G4NeutronHPProduct_h 1
58 if(theDist != 0)
delete theDist;
67 inline void Init(std::ifstream & aDataFile)
69 aDataFile >> theMassCode>>theMass>>theIsomerFlag>>theDistLaw
70 >> theGroundStateQValue>>theActualStateQValue;
71 theGroundStateQValue*= CLHEP::eV;
72 theActualStateQValue*= CLHEP::eV;
73 theYield.
Init(aDataFile, CLHEP::eV);
79 else if(theDistLaw == 1)
84 else if(theDistLaw == 2)
89 else if(theDistLaw == 3)
94 else if(theDistLaw == 4)
105 else if(theDistLaw == 5)
109 else if(theDistLaw == 6)
114 else if(theDistLaw == 7)
121 throw G4HadronicException(__FILE__, __LINE__,
"distribution law unknown to G4NeutronHPProduct");
125 theDist->
SetQValue(theActualStateQValue);
126 theDist->
Init(aDataFile);
134 return theYield.
GetY(anEnergy);
139 theNeutron = aNeutron;
161 result *= theCurrentMultiplicity;
187 G4int theCurrentMultiplicity;
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4double MeanEnergyOfThisInteraction()
G4ReactionProductVector * Sample(G4double anEnergy)
void SetTarget(G4ReactionProduct *aTarget)
void SetNeutron(G4ReactionProduct *aNeutron)
G4double GetMeanYield(G4double anEnergy)
G4ReactionProduct * GetTarget()
void Init(std::ifstream &aDataFile)
G4ReactionProduct * GetNeutron()
void Init(std::ifstream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4double GetY(G4double x)
virtual G4double MeanEnergyOfThisInteraction()=0
virtual void Init(std::ifstream &aDataFile)=0
void SetQValue(G4double aValue)