29 #ifndef G4ParticleHPProduct_h    30 #define G4ParticleHPProduct_h 1    43 #include "G4ParticleHPDiscreteTwoBody.hh"    45 #include "G4ParticleHPNBodyPhaseSpace.hh"    59       toBeCached() : theProjectileRP(NULL),theTarget(NULL),theCurrentMultiplicity(-1) {};
    69     char * method = getenv( 
"G4PHP_MULTIPLICITY_METHOD" );
    71       if( 
G4String(method) == 
"Poisson" ) {
    73       } 
else if( 
G4String(method) == 
"BetweenInts" ) {
    91     if( getenv(
"G4PHPTEST") )     
G4cout << 
" G4ParticleHPProduct :: Init MassCode " << 
theMassCode << 
" " << 
theMass << 
" theActualStateQValue " << theActualStateQValue << 
G4endl;
    92     if( getenv(
"G4PHPTEST") )     
G4cout << 
" G4ParticleHPProduct :: Init theActualStateQValue " << theActualStateQValue << 
G4endl;
   110       theDist = 
new G4ParticleHPDiscreteTwoBody;
   121       theDist = 
new G4ParticleHPDiscreteTwoBody; 
   135       theDist = 
new G4ParticleHPNBodyPhaseSpace;
   144       throw G4HadronicException(__FILE__, __LINE__, 
"distribution law unknown to G4ParticleHPProduct");
   163     fCache.Get().theProjectileRP = aIncidentPart; 
   168     fCache.Get().theTarget = aTarget; 
   185       result *= 
fCache.Get().theCurrentMultiplicity;
 void Init(std::istream &aDataFile, G4ParticleDefinition *projectile)
 
G4ReactionProduct * theProjectileRP
 
virtual void Init(std::istream &aDataFile)=0
 
G4ReactionProduct * GetTarget()
 
G4VParticleHPEnergyAngular * theDist
 
G4HPMultiMethod theMultiplicityMethod
 
void SetProjectileRP(G4ReactionProduct *aIncidentPart)
 
G4double MeanEnergyOfThisInteraction()
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
G4ReactionProduct * theTarget
 
G4double theActualStateQValue
 
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
 
G4GLOB_DLL std::ostream G4cout
 
G4ParticleHPVector theYield
 
G4int theCurrentMultiplicity
 
G4double GetY(G4double x)
 
G4int GetMultiplicity(G4double anEnergy)
 
virtual G4double MeanEnergyOfThisInteraction()=0
 
G4ReactionProductVector * Sample(G4double anEnergy, G4int nParticles)
 
G4ReactionProduct * GetProjectileRP()
 
void SetQValue(G4double aValue)
 
G4Cache< toBeCached > fCache
 
G4double theGroundStateQValue
 
void SetTarget(G4ReactionProduct *aTarget)
 
G4double GetMeanYield(G4double anEnergy)