#include "G4ReactionProduct.hh"
Go to the source code of this file.
Functions | |
G4ReactionProduct | operator+ (const G4ReactionProduct &p1, const G4ReactionProduct &p2) |
G4ReactionProduct | operator- (const G4ReactionProduct &p1, const G4ReactionProduct &p2) |
Variables | |
G4Allocator< G4ReactionProduct > | aRPAllocator |
G4ReactionProduct operator+ | ( | const G4ReactionProduct & | p1, | |
const G4ReactionProduct & | p2 | |||
) |
Definition at line 236 of file G4ReactionProduct.cc.
References G4ReactionProduct::HasInitialStateParton(), G4ReactionProduct::momentum, G4ReactionProduct::SetFormationTime(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetPositionInNucleus(), G4ReactionProduct::SetTotalEnergy(), and G4ReactionProduct::totalEnergy.
00238 { 00239 G4double totEnergy = p1.totalEnergy + p2.totalEnergy; 00240 G4double x = p1.momentum.x() + p2.momentum.x(); 00241 G4double y = p1.momentum.y() + p2.momentum.y(); 00242 G4double z = p1.momentum.z() + p2.momentum.z(); 00243 G4double newMass = totEnergy*totEnergy - ( x*x + y*y + z*z ); 00244 if( newMass < 0.0 ) 00245 newMass = -1. * std::sqrt( -newMass ); 00246 else 00247 newMass = std::sqrt( newMass ); 00248 G4ReactionProduct result; 00249 result.SetMass( newMass ); 00250 result.SetMomentum( x, y, z ); 00251 result.SetTotalEnergy( totEnergy ); 00252 result.SetPositionInNucleus( 0.0, 0.0, 0.0 ); 00253 result.SetFormationTime(0.0); 00254 result.HasInitialStateParton(false); 00255 return result; 00256 }
G4ReactionProduct operator- | ( | const G4ReactionProduct & | p1, | |
const G4ReactionProduct & | p2 | |||
) |
Definition at line 258 of file G4ReactionProduct.cc.
References G4ReactionProduct::HasInitialStateParton(), G4ReactionProduct::momentum, G4ReactionProduct::SetFormationTime(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetPositionInNucleus(), G4ReactionProduct::SetTotalEnergy(), and G4ReactionProduct::totalEnergy.
00260 { 00261 G4double totEnergy = p1.totalEnergy - p2.totalEnergy; 00262 G4double x = p1.momentum.x() - p2.momentum.x(); 00263 G4double y = p1.momentum.y() - p2.momentum.y(); 00264 G4double z = p1.momentum.z() - p2.momentum.z(); 00265 G4double newMass = totEnergy*totEnergy - ( x*x + y*y + z*z ); 00266 if( newMass < 0.0 ) 00267 newMass = -1. * std::sqrt( -newMass ); 00268 else 00269 newMass = std::sqrt( newMass ); 00270 G4ReactionProduct result; 00271 result.SetMass( newMass ); 00272 result.SetMomentum( x, y, z ); 00273 result.SetTotalEnergy( totEnergy ); 00274 result.SetPositionInNucleus( 0.0, 0.0, 0.0 ); 00275 result.SetFormationTime(0.0); 00276 result.HasInitialStateParton(false); 00277 return result; 00278 }
Definition at line 33 of file G4ReactionProduct.cc.
Referenced by G4ReactionProduct::operator delete(), and G4ReactionProduct::operator new().