41 , theTransport(0), theHighEnergyGenerator(0)
55 <<
" string model and a stage to de-excite the excited nuclear fragment."
57 <<
"The string model simulates the interaction of\n"
58 <<
"an incident hadron with a nucleus, forming \n"
59 <<
"excited strings, decays these strings into hadrons,\n"
60 <<
"and leaves an excited nucleus. \n"
61 <<
"<p>The string model:\n";
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);
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;
202 for(
auto i=theTransportResult->begin(); i!=theTransportResult->end(); i++)
206 (*i)->GetTotalEnergy(),
207 (*i)->GetMomentum());
210 if(time < 0.0) { time = 0.0; }
211 aNew.SetTime(timePrimary + time);
212 aNew.SetCreatorModelType((*i)->GetCreatorModel());
218 delete theTransportResult;