30#ifndef G4InteractionContent_h
31#define G4InteractionContent_h 1
47 #include "../../qgsm/include/G4QGSMSplitableHadron.hh"
104 G4int theNumberOfHard;
105 G4int theNumberOfSoft;
106 G4int theNumberOfDiffractive;
117 return theProjectile;
132 theTargetNucleon = aNucleon;
137 return theTargetNucleon;
142 return theNumberOfSoft;
147 return theNumberOfHard;
152 theNumberOfSoft = nCol;
157 theNumberOfHard = nCol;
162 return theNumberOfDiffractive;
167 theNumberOfDiffractive = nCol;
172 if ( theProjectile != NULL ) theProjectile->
SplitUp();
173 if ( theTarget != NULL ) theTarget->
SplitUp();
180inline void G4InteractionContent::Dump()
185 << theNumberOfHard<<
" / "
186 <<theNumberOfSoft<<
" / "
187 <<theNumberOfDiffractive <<
G4endl
189 if ( theProjectile ) {
195 std::deque<G4Parton *>color=at->GetColorPartons();
196 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
197 G4cout <<
" proj. color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
198 std::deque<G4Parton *>::iterator p_iter;
200 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
201 G4cout <<
"proj color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
202 colmom+=(*p_iter)->Get4Momentum();
206 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
207 G4cout <<
"proj antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
208 anticolmom+=(*p_iter)->Get4Momentum();
210 G4cout <<
" proj. color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
221 std::deque<G4Parton *>color=at->GetColorPartons();
222 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
223 G4cout <<
" target color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
224 std::deque<G4Parton *>::iterator p_iter;
226 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
227 G4cout <<
"target color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
228 colmom+=(*p_iter)->Get4Momentum();
232 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
233 G4cout <<
"target antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
234 anticolmom+=(*p_iter)->Get4Momentum();
236 G4cout <<
" target color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
241 G4cout <<
"total 4-mom of interaction content " << mom <<
G4endl;
G4DLLIMPORT std::ostream G4cout
void SetNumberOfDiffractiveCollisions(int)
G4double GetInteractionTime() const
void SetTargetNucleon(G4Nucleon *aNucleon)
G4int GetNumberOfHardCollisions()
G4Nucleon * GetTargetNucleon() const
void SetNumberOfHardCollisions(int)
G4int GetNumberOfDiffractiveCollisions()
G4bool operator<(const G4InteractionContent &right) const
void SetNumberOfSoftCollisions(int)
G4VSplitableHadron * GetProjectile() const
G4int GetNumberOfSoftCollisions()
void SetTarget(G4VSplitableHadron *aTarget)
void SetStatus(G4int aValue)
void SetInteractionTime(G4double aValue)
G4VSplitableHadron * GetTarget() const
G4int GetPDGEncoding() const
G4ParticleDefinition * GetDefinition() const
const G4LorentzVector & Get4Momentum() const