30 #ifndef G4InteractionContent_h
31 #define G4InteractionContent_h 1
51 #include "../../qgsm/include/G4QGSMSplitableHadron.hh"
109 G4int theNumberOfHard;
110 G4int theNumberOfSoft;
111 G4int theNumberOfDiffractive;
121 return theProjectile;
136 theProjectileNucleon = aNucleon;
141 return theProjectileNucleon;
146 theTargetNucleon = aNucleon;
151 return theTargetNucleon;
156 return theNumberOfSoft;
161 return theNumberOfHard;
166 theNumberOfSoft = nCol;
171 theNumberOfHard = nCol;
176 return theNumberOfDiffractive;
181 theNumberOfDiffractive = nCol;
187 if ( theProjectile != NULL ) {theProjectile->
SplitUp();}
189 if ( theTarget != NULL ) {theTarget->
SplitUp();}
196 inline void G4InteractionContent::Dump()
201 << theNumberOfHard<<
" / "
202 <<theNumberOfSoft<<
" / "
203 <<theNumberOfDiffractive <<
G4endl
206 if ( theProjectile ) {
212 std::deque<G4Parton *>color=at->GetColorPartons();
213 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
214 G4cout <<
" proj. color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
215 std::deque<G4Parton *>::iterator p_iter;
217 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
218 G4cout <<
"proj color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
219 colmom+=(*p_iter)->Get4Momentum();
222 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
223 G4cout <<
"proj antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
224 anticolmom+=(*p_iter)->Get4Momentum();
226 G4cout <<
" proj. color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
238 std::deque<G4Parton *>color=at->GetColorPartons();
239 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
240 G4cout <<
" target color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
241 std::deque<G4Parton *>::iterator p_iter;
243 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
244 G4cout <<
"target color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
245 colmom+=(*p_iter)->Get4Momentum();
248 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
249 G4cout <<
"target antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
250 anticolmom+=(*p_iter)->Get4Momentum();
252 G4cout <<
" target color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
257 G4cout <<
"total 4-mom of interaction content " << mom <<
G4endl;
G4Nucleon * GetTargetNucleon() const
G4Nucleon * GetProjectileNucleon() const
void SetInteractionTime(G4double aValue)
G4int GetPDGEncoding() const
void SetNumberOfHardCollisions(int)
const G4ParticleDefinition * GetDefinition() const
G4bool operator<(const G4InteractionContent &right) const
void SetProjectileNucleon(G4Nucleon *aNucleon)
G4GLOB_DLL std::ostream G4cout
G4int GetNumberOfDiffractiveCollisions()
const G4LorentzVector & Get4Momentum() const
void SetNumberOfDiffractiveCollisions(int)
void SetStatus(G4int aValue)
void SetNumberOfSoftCollisions(int)
G4VSplitableHadron * GetTarget() const
G4VSplitableHadron * GetProjectile() const
G4double GetInteractionTime() const
void SetTargetNucleon(G4Nucleon *aNucleon)
G4int GetNumberOfSoftCollisions()
void SetTarget(G4VSplitableHadron *aTarget)
G4int GetNumberOfHardCollisions()