291   G4int nSecondaries = 0;
   300       if(nDiscrete==1&¤t<1.0001) 
   312     for(i=0;i<nSecondaries;i++)
   316       thePhotons->push_back(theOne);
   374                std::vector< G4double > photons_e_best( 
actualMult.
Get()->at(0) , 0.0 );
   377                for ( 
G4int j = 0 ; j < maxTry ; j++ )
   379                   std::vector< G4double > photons_e( 
actualMult.
Get()->at(0) , 0.0 );
   380                   for ( std::vector< G4double >::iterator 
   381                       it = photons_e.begin() ; it < photons_e.end() ; it++ ) 
   385                  if ( std::accumulate( photons_e.begin() , photons_e.end() , 0.0 ) > maximumE ) 
   387                     if ( std::accumulate( photons_e.begin() , photons_e.end() , 0.0 ) < best )
   388                        photons_e_best = photons_e;
   393                     for ( std::vector< G4double >::iterator 
   394                         it = photons_e.begin() ; it < photons_e.end() ; it++ ) 
   396                        thePhotons->operator[](count)->SetKineticEnergy( *it );
   404                  G4cout << 
"NeutronHPPhotonDist could not find fitted energy set for multiplicity of " <<  
actualMult.
Get()->at(0) << 
"." << 
G4endl; 
   405                  G4cout << 
"NeutronHPPhotonDist will use the best set." << 
G4endl; 
   406                  for ( std::vector< G4double >::iterator 
   407                      it = photons_e_best.begin() ; it < photons_e_best.end() ; it++ ) 
   409                      thePhotons->operator[](count)->SetKineticEnergy( *it );
   420                thePhotons->operator[](count)->SetKineticEnergy(
energy[i]);
   423         if(count    > nSecondaries)  
throw G4HadronicException(__FILE__, __LINE__, 
"G4ParticleHPPhotonDist::GetPhotons inconsistancy");
   443             if(random<run/sum) 
break;
   445           if(theP==nPartials) theP=nPartials-1; 
   450           thePhotons->operator[](count)->SetKineticEnergy(eGamm);
   455           thePhotons->operator[](count)->SetKineticEnergy(
energy[i]);
   458     if(count > nSecondaries)  
throw G4HadronicException(__FILE__, __LINE__, 
"G4ParticleHPPhotonDist::GetPhotons inconsistancy");
   465       for (i=0; i< nSecondaries; i++)
   468     G4double theta = std::acos(costheta);
   471     G4double en = thePhotons->operator[](i)->GetTotalEnergy();
   472     G4ThreeVector temp(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   473     thePhotons->operator[](i)->SetMomentum( temp ) ;
   479       for(i=0; i<nSecondaries; i++)
   481     G4double currentEnergy = thePhotons->operator[](i)->GetTotalEnergy();
   484           if (std::abs(currentEnergy-
theGammas[ii])<0.1*
keV) 
break;
   486     if(ii==nDiscrete2) ii--; 
   494       G4double theta = std::acos(costheta);
   497           G4double en = thePhotons->operator[](i)->GetTotalEnergy();
   498           G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   499           thePhotons->operator[](i)->SetMomentum( tempVector ) ;
   505           for (iii=0; iii<
nNeu[ii-
nIso]; iii++) 
   523           G4double cosTh = aStore.SampleMax(anEnergy);
   527           G4double en = thePhotons->operator[](i)->GetTotalEnergy();
   528           G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   529           thePhotons->operator[](i)->SetMomentum( tempVector ) ;
   535           for (iii=0; iii<nNeu[ii-
nIso]; iii++) 
   545           G4double en = thePhotons->operator[](i)->GetTotalEnergy();
   546           G4ThreeVector tmpVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*costh );
   547           thePhotons->operator[](i)->SetMomentum( tmpVector ) ;
   566       if(random < running[i]/running[nGammaEnergies-1]) 
break;
   584       G4double theta = std::acos(costheta);
   591       G4ThreeVector temp(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   599         if (std::abs(currentEnergy-
theGammas[ii])<0.1*
keV) 
break;
   601       if(ii==nDiscrete2) ii--; 
   615         G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   622         for (iii=0; iii<nNeu[ii-
nIso]; iii++) 
   640         G4double cosTh = aStore.SampleMax(anEnergy);
   648         G4ThreeVector tempVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*std::cos(theta) );
   655         for (iii=0; iii<nNeu[ii-
nIso]; iii++) 
   669         G4ThreeVector tmpVector(en*sinth*std::cos(phi), en*sinth*std::sin(phi), en*costh );
   673     thePhotons->push_back(theOne);
   690       thePhotons->push_back( theOne );
   696       std::vector < G4double > dif( nDiscrete , 0.0 ); 
   737          if ( iphoton < 
nIso )
   760                for ( 
G4int j = 0 ; j < nNeu [ iphoton - 
nIso ] ; j++ )
   763                   if ( 
theLegendre[ iphoton - 
nIso ][ j ].GetEnergy() > anEnergy ) 
break;
   768                aStore.SetCoeff( 0 , &( 
theLegendre[ iphoton - 
nIso ][ iangle - 1 ] ) ); 
   770                cosTheta = aStore.SampleMax( anEnergy );
   779                for ( 
G4int j = 0 ; j < nNeu [ iphoton - 
nIso ] ; j++ )
   782                   if ( 
theAngular[ iphoton - 
nIso ][ j ].GetEnergy() > anEnergy ) 
break;
   793       G4double theta = std::acos( cosTheta );
   794       G4double sinTheta = std::sin( theta );
   797       G4ThreeVector direction ( sinTheta*std::cos( phi ) , sinTheta * std::sin( phi ) , cosTheta );
   799       thePhotons->operator[]( 0 )->SetMomentum( photonP ) ;
 G4int theInternalConversionFlag
 
G4long G4Poisson(G4double mean)
 
G4ParticleHPLegendreTable ** theLegendre
 
G4ParticleHPPartial ** partials
 
void SetMomentum(const G4double x, const G4double y, const G4double z)
 
G4ParticleHPAngularP ** theAngular
 
G4ParticleHPVector * thePartialXsec
 
G4double GetCosTh(G4int l)
 
G4double * theTransitionProbabilities
 
G4Cache< std::vector< G4int > *> actualMult
 
G4double GetXsec(G4int i)
 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
G4ParticleHPVector * theYield
 
G4GLOB_DLL std::ostream G4cout
 
G4double * theLevelEnergies
 
void SetTotalEnergy(const G4double en)
 
static const double twopi
 
G4double GetY(G4double x)
 
G4int GetVectorLength() const
 
G4double GetTotalMomentum() const
 
G4double GetX(G4int i) const
 
G4double GetPDGMass() const
 
G4double GetTotalEnergy() const
 
G4ParticleHPVector * probs
 
static G4Electron * Electron()
 
G4double GetY(G4int i, G4int j)
 
G4double * thePhotonTransitionFraction