42     , theTransport(0), theHighEnergyGenerator(0)
 
   50   delete theParticleChange;
 
   56           << 
" string model and a stage to de-excite the excited nuclear fragment." 
   58           << 
"The string model simulates the interaction of\n" 
   59           << 
"an incident hadron with a nucleus, forming \n" 
   60           << 
"excited strings, decays these strings into hadrons,\n" 
   61           << 
"and leaves an excited nucleus. \n" 
   62           << 
"<p>The string model:\n";
 
   72   theParticleChange->
Clear();
 
   79   if ( theQuasielastic ) {
 
   88         for(
unsigned int  i=0; i<result->size(); i++)
 
   92                                    result->operator[](i)->Get4Momentum().e(),
 
   93                                    result->operator[](i)->Get4Momentum().vect());
 
   95           delete result->operator[](i);
 
  106     return theParticleChange;
 
  113                theHighEnergyGenerator->
Scatter(theNucleus, aPart);
 
  116   #ifdef DEBUG_initial_result 
  119       std::vector<G4KineticTrack *>::iterator ir_iter;
 
  120       for(ir_iter=theInitialResult->begin(); ir_iter!=theInitialResult->end(); ir_iter++)
 
  123           E_out += (*ir_iter)->Get4Momentum().e();
 
  126           G4double init_E=aPart.Get4Momentum().e();
 
  131       G4int resZ(0),resA(0);
 
  133       for(
size_t them=0; them<thy.size(); them++)
 
  135          if(thy[them].AreYouHit()) {
 
  150       G4double E_excit=init_mass + init_E - final_mass - E_out;
 
  151       G4cout << 
" Corrected delta mass " << init_mass - final_mass - delta_m << 
G4endl;
 
  152       G4cout << 
"initial E, mass = " << init_E << 
", " << init_mass << 
G4endl;
 
  153       G4cout << 
"  final E, mass = " << E_out <<
", " << final_mass << 
"  excitation_E " << E_excit << 
G4endl;
 
  160 if(theProjectileNucleus == 0)                                       
 
  165   for(
size_t them=0; them<they.size(); them++)
 
  167     if(they[them].AreYouHit()) hitCount ++;
 
  174     if ( !theTransportResult ) {
 
  175        G4cout << 
"G4TheoFSGenerator: null ptr from transport propagate " << 
G4endl;
 
  182     if ( !theTransportResult ) {
 
  183        G4cout << 
"G4TheoFSGenerator: null ptr from decay propagate " << 
G4endl;
 
  195     if ( !theTransportResult ) {
 
  196        G4cout << 
"G4TheoFSGenerator: null ptr from transport propagate " << 
G4endl;
 
  203   for(i=0; i<theTransportResult->size(); i++)
 
  207                              theTransportResult->operator[](i)->GetTotalEnergy(),
 
  208                              theTransportResult->operator[](i)->GetMomentum());
 
  211     delete theTransportResult->operator[](i);
 
  215   delete theTransportResult;
 
  218   return theParticleChange;
 
  223   if ( theHighEnergyGenerator ) {
 
G4double G4ParticleHPJENDLHEData::G4double result
 
G4ReactionProductVector * Propagate(G4KineticTrackVector *theSecondaries, G4V3DNucleus *)
 
virtual G4ReactionProductVector * Propagate(G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)=0
 
G4TheoFSGenerator(const G4String &name="TheoFSGenerator")
 
void ModelDescription(std::ostream &outFile) const 
 
virtual G4int GetMassNumber()=0
 
const G4String & GetModelName() const 
 
G4KineticTrackVector * Scatter(G4Nucleus &theNucleus, const G4DynamicParticle &thePrimary)
 
virtual G4KineticTrackVector * Scatter(const G4Nucleus &theNucleus, const G4DynamicParticle &thePrimary)=0
 
void SetStatusChange(G4HadFinalStateStatus aS)
 
void SetPrimaryProjectile(const G4HadProjectile &aPrimary)
 
virtual G4V3DNucleus * GetWoundedNucleus() const =0
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
G4IonTable * GetIonTable() const 
 
G4GLOB_DLL std::ostream G4cout
 
const G4ParticleDefinition * GetDefinition() const 
 
G4double GetIonMass(G4int Z, G4int A, G4int L=0, G4int lvl=0) const 
 
virtual void PropagateModelDescription(std::ostream &outFile) const 
 
G4double GetKineticEnergy() const 
 
virtual std::pair< G4double, G4double > GetEnergyMomentumCheckLevels() const 
 
static G4Proton * Proton()
 
virtual G4V3DNucleus * GetProjectileNucleus() const 
 
static G4Neutron * Neutron()
 
G4double GetFraction(G4Nucleus &theNucleus, const G4DynamicParticle &thePrimary)
 
const G4LorentzVector & Get4Momentum() const 
 
virtual G4String GetModelName() const 
 
void SetEnergyChange(G4double anEnergy)
 
G4double GetPDGMass() const 
 
static G4ParticleTable * GetParticleTable()
 
virtual G4ReactionProductVector * PropagateNuclNucl(G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4V3DNucleus *theProjectileNucleus)
 
virtual void ModelDescription(std::ostream &) const 
 
virtual const std::vector< G4Nucleon > & GetNucleons()=0
 
void AddSecondary(G4DynamicParticle *aP, G4int mod=-1)
 
std::pair< G4double, G4double > GetEnergyMomentumCheckLevels() const 
 
void SetMomentumChange(const G4ThreeVector &aV)
 
G4HadFinalState * ApplyYourself(const G4HadProjectile &thePrimary, G4Nucleus &theNucleus)