30 #ifndef G4InteractionContent_h
31 #define G4InteractionContent_h 1
51 #include "../../qgsm/include/G4QGSMSplitableHadron.hh"
113 G4int theNumberOfHard;
114 G4int theNumberOfSoft;
115 G4int theNumberOfDiffractive;
126 return theProjectile;
141 theProjectileNucleon = aNucleon;
146 return theProjectileNucleon;
151 theTargetNucleon = aNucleon;
156 return theTargetNucleon;
161 return theNumberOfSoft;
166 return theNumberOfHard;
171 theNumberOfSoft = nCol;
176 theNumberOfHard = nCol;
181 return theNumberOfDiffractive;
186 theNumberOfDiffractive = nCol;
191 if ( theProjectile != NULL ) theProjectile->
SplitUp();
192 if ( theTarget != NULL ) theTarget->
SplitUp();
199 inline void G4InteractionContent::Dump()
204 << theNumberOfHard<<
" / "
205 <<theNumberOfSoft<<
" / "
206 <<theNumberOfDiffractive <<
G4endl
208 if ( theProjectile ) {
214 std::deque<G4Parton *>color=at->GetColorPartons();
215 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
216 G4cout <<
" proj. color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
217 std::deque<G4Parton *>::iterator p_iter;
219 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
220 G4cout <<
"proj color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
221 colmom+=(*p_iter)->Get4Momentum();
225 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
226 G4cout <<
"proj antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
227 anticolmom+=(*p_iter)->Get4Momentum();
229 G4cout <<
" proj. color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
240 std::deque<G4Parton *>color=at->GetColorPartons();
241 std::deque<G4Parton *>anticolor=at->GetAntiColorPartons();
242 G4cout <<
" target color/anti size " << color.size() <<
" / " << anticolor.size() <<
G4endl;
243 std::deque<G4Parton *>::iterator p_iter;
245 for ( p_iter=color.begin(); p_iter!= color.end(); ++p_iter){
246 G4cout <<
"target color : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
247 colmom+=(*p_iter)->Get4Momentum();
251 for ( p_iter=anticolor.begin(); p_iter!= anticolor.end(); ++p_iter){
252 G4cout <<
"target antic : "<<(*p_iter)->GetPDGcode() <<
", mom= "<< (*p_iter)->Get4Momentum()<<
G4endl;
253 anticolmom+=(*p_iter)->Get4Momentum();
255 G4cout <<
" target color/anti mom " << colmom <<
" / " << anticolmom <<
" Sum: " << colmom+anticolmom <<
G4endl;
260 G4cout <<
"total 4-mom of interaction content " << mom <<
G4endl;
G4Nucleon * GetTargetNucleon() const
G4Nucleon * GetProjectileNucleon() const
void SetInteractionTime(G4double aValue)
G4int GetPDGEncoding() const
G4ParticleDefinition * GetDefinition() const
void SetNumberOfHardCollisions(int)
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()