55 if (
this == &rhs)
return *
this;
69 if ((particleChangeA !=
nullptr) || (particleChangeB !=
nullptr))
71 G4bool test = (particleChangeA !=
nullptr) && (particleChangeB !=
nullptr);
76 exceptionDescription <<
"If you give for one track a particleChange, ";
78 <<
"G4ITReactionChange is expecting that you give for both ";
79 exceptionDescription <<
"reacting tracks a particleChange.";
80 G4Exception(
"G4ITReactionChange::Initialize",
"ITReactionChange001",
129 <<
"No track A found ! Have you initialized the ReactionChange ?";
130 G4Exception(
"G4ITReactionChange::GetTrackA",
"ITReactionChange001",
143 <<
"No track B found ! Have you initialized the ReactionChange ?";
144 G4Exception(
"G4ITReactionChange::GetTrackB",
"ITReactionChange002",
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
void Initialize(const G4Track &, const G4Track &, G4VParticleChange *particleChangeA=nullptr, G4VParticleChange *particleChangeB=nullptr)
const G4Track * GetTrackB()
std::map< const G4Track *, G4VParticleChange * > fParticleChange
G4VParticleChange * GetParticleChange(const G4Track *)
void AddSecondary(G4Track *aSecondary)
G4ITReactionChange & operator=(const G4ITReactionChange &other)
G4bool fParticleChangeIsSet
const G4Track * GetTrackA()
virtual ~G4ITReactionChange()
void UpdateStepInfo(G4Step *, G4Step *)
G4int fNumberOfSecondaries
std::vector< G4Track * > * fSecondaries
G4Track * GetTrack() const