28 #ifndef G4NeutronHPProduct_h
29 #define G4NeutronHPProduct_h 1
32 #include <CLHEP/Units/SystemOfUnits.h>
57 toBeCached() : theNeutron(NULL),theTarget(NULL),theCurrentMultiplicity(-1) {};
78 inline void Init(std::istream & aDataFile)
133 throw G4HadronicException(__FILE__, __LINE__,
"distribution law unknown to G4NeutronHPProduct");
151 fCache.Get().theNeutron = aNeutron;
156 fCache.Get().theTarget = aTarget;
173 result *=
fCache.Get().theCurrentMultiplicity;
G4double GetY(G4double x)
G4ReactionProduct * theNeutron
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4ReactionProduct * GetNeutron()
G4ReactionProduct * theTarget
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4Cache< toBeCached > fCache
void Init(std::istream &aDataFile)
G4NeutronHPVector theYield
G4ReactionProductVector * Sample(G4double anEnergy)
G4double theActualStateQValue
G4double theGroundStateQValue
void SetTarget(G4ReactionProduct *aTarget)
G4double MeanEnergyOfThisInteraction()
virtual G4double MeanEnergyOfThisInteraction()=0
G4double GetMeanYield(G4double anEnergy)
G4ReactionProduct * GetTarget()
virtual void Init(std::istream &aDataFile)=0
void SetNeutron(G4ReactionProduct *aNeutron)
G4VNeutronHPEnergyAngular * theDist
G4int theCurrentMultiplicity
void SetQValue(G4double aValue)