Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
G4INCL::InteractionAvatar Class Referenceabstract

#include <G4INCLInteractionAvatar.hh>

Inheritance diagram for G4INCL::InteractionAvatar:
G4INCL::IAvatar G4INCL::BinaryCollisionAvatar G4INCL::DecayAvatar

Public Member Functions

 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *)
 
 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *)
 
virtual ~InteractionAvatar ()
 
- Public Member Functions inherited from G4INCL::IAvatar
 IAvatar ()
 
 IAvatar (G4double time)
 
virtual ~IAvatar ()
 
G4INCL::FinalStategetFinalState ()
 
G4double getTime () const
 
virtual ParticleList getParticles () const =0
 
virtual std::string dump () const =0
 
AvatarType getType () const
 
G4bool isACollision () const
 
G4bool isADecay () const
 
void setType (AvatarType t)
 
long getID () const
 
std::string toString ()
 

Static Public Member Functions

static void deleteBackupParticles ()
 Release the memory allocated for the backup particles. More...
 

Static Public Attributes

static const G4double locEAccuracy = 1.E-4
 Target accuracy in the determination of the local-energy Q-value. More...
 
static const G4int maxIterLocE = 50
 Max number of iterations for the determination of the local-energy Q-value. More...
 

Protected Member Functions

virtual G4INCL::IChannelgetChannel ()=0
 
G4bool bringParticleInside (Particle *const p)
 
void preInteractionLocalEnergy (Particle *const p)
 Apply local-energy transformation, if appropriate. More...
 
void preInteractionBlocking ()
 Store the state of the particles before the interaction. More...
 
void preInteraction ()
 
FinalStatepostInteraction (FinalState *)
 
void restoreParticles () const
 Restore the state of both particles. More...
 
G4bool shouldUseLocalEnergy () const
 true if the given avatar should use local energy More...
 
G4bool enforceEnergyConservation (FinalState *const fs)
 Enforce energy conservation. More...
 

Protected Attributes

NucleustheNucleus
 
Particleparticle1
 
Particleparticle2
 
ThreeVector boostVector
 
G4double oldTotalEnergy
 
G4double oldXSec
 
G4bool isPiN
 
- Protected Attributes inherited from G4INCL::IAvatar
G4double theTime
 

Static Protected Attributes

static G4ThreadLocal ParticlebackupParticle1 = NULL
 
static G4ThreadLocal ParticlebackupParticle2 = NULL
 

Detailed Description

Definition at line 59 of file G4INCLInteractionAvatar.hh.

Constructor & Destructor Documentation

G4INCL::InteractionAvatar::InteractionAvatar ( G4double  time,
G4INCL::Nucleus n,
G4INCL::Particle p1 
)

Definition at line 64 of file G4INCLInteractionAvatar.cc.

65  : IAvatar(time), theNucleus(n),
66  particle1(p1), particle2(NULL),
67  isPiN(false),
68  violationEFunctor(NULL)
69  {
70  }
G4INCL::InteractionAvatar::InteractionAvatar ( G4double  time,
G4INCL::Nucleus n,
G4INCL::Particle p1,
G4INCL::Particle p2 
)

Definition at line 72 of file G4INCLInteractionAvatar.cc.

74  : IAvatar(time), theNucleus(n),
75  particle1(p1), particle2(p2),
76  isPiN((p1->isPion() && p2->isNucleon()) || (p2->isPion() && p1->isNucleon())),
77  violationEFunctor(NULL)
78  {
79  }
G4bool isNucleon() const
G4bool isPion() const
Is this a pion?
G4INCL::InteractionAvatar::~InteractionAvatar ( )
virtual

Definition at line 81 of file G4INCLInteractionAvatar.cc.

81  {
82  }

Member Function Documentation

G4bool G4INCL::InteractionAvatar::bringParticleInside ( Particle *const  p)
protected

Definition at line 137 of file G4INCLInteractionAvatar.cc.

References G4INCL::Particle::getPosition(), G4INCL::Nucleus::getSurfaceRadius(), INCL_DEBUG, G4INCL::ThreeVector::mag(), G4INCL::ThreeVector::mag2(), G4INCL::Particle::rpCorrelate(), G4INCL::Particle::setPosition(), and theNucleus.

Referenced by postInteraction().

137  {
138  if(!theNucleus)
139  return false;
140 
141  ThreeVector pos = p->getPosition();
142  p->rpCorrelate();
143  G4double pos2 = pos.mag2();
145  short iterations=0;
146  const short maxIterations=50;
147 
148  if(pos2 < r*r) return true;
149 
150  while( pos2 >= r*r && iterations<maxIterations )
151  {
152  pos *= std::sqrt(r*r*0.99/pos2);
153  pos2 = pos.mag2();
154  iterations++;
155  }
156  if( iterations < maxIterations)
157  {
158  INCL_DEBUG("Particle position vector length was : " << p->getPosition().mag() << ", rescaled to: " << pos.mag() << std::endl);
159  p->setPosition(pos);
160  return true;
161  }
162  else
163  return false;
164  }
const char * p
Definition: xmltok.h:285
G4double getSurfaceRadius(Particle const *const particle) const
Get the maximum allowed radius for a given particle.
double G4double
Definition: G4Types.hh:76
#define INCL_DEBUG(x)
void G4INCL::InteractionAvatar::deleteBackupParticles ( )
static

Release the memory allocated for the backup particles.

Definition at line 84 of file G4INCLInteractionAvatar.cc.

References backupParticle1, and backupParticle2.

Referenced by G4INCL::INCL::~INCL().

84  {
85  delete backupParticle1;
86  if(backupParticle2)
87  delete backupParticle2;
88  backupParticle1 = NULL;
89  backupParticle2 = NULL;
90  }
static G4ThreadLocal Particle * backupParticle2
static G4ThreadLocal Particle * backupParticle1
G4bool G4INCL::InteractionAvatar::enforceEnergyConservation ( FinalState *const  fs)
protected

Enforce energy conservation.

Final states generated by the channels might violate energy conservation because of different reasons (energy-dependent potentials, local energy...). This conservation law must therefore be enforced by hand. We do so by rescaling the momenta of the final-state particles in the CM frame. If this turns out to be impossible, this method returns false.

Returns
true if the algorithm succeeded

Definition at line 345 of file G4INCLInteractionAvatar.cc.

References boostVector, G4INCL::ParticleTable::effectiveDeltaDecayThreshold, G4INCL::Store::getBook(), G4INCL::FinalState::getCreatedParticles(), G4INCL::Particle::getMass(), G4INCL::FinalState::getModifiedParticles(), G4INCL::Nucleus::getStore(), INCL_DEBUG, G4INCL::Book::incrementEnergyViolationInteraction(), shouldUseLocalEnergy(), G4INCL::RootFinder::solve(), G4INCL::RootFinder::Solution::success, theNucleus, and G4INCL::RootFinder::Solution::x.

Referenced by G4INCL::DecayAvatar::postInteraction(), and postInteraction().

345  {
346  // Set up the violationE calculation
347  ParticleList modified = fs->getModifiedParticles();
348  const G4bool manyBodyFinalState = (modified.size() + fs->getCreatedParticles().size() > 1);
349  if(manyBodyFinalState)
350  violationEFunctor = new ViolationEMomentumFunctor(theNucleus, fs, &boostVector, shouldUseLocalEnergy());
351  else {
352  Particle const * const p = modified.front();
353  // The following condition is necessary for the functor to work
354  // correctly. A similar condition exists in INCL4.6.
356  return false;
357  violationEFunctor = new ViolationEEnergyFunctor(theNucleus, fs, shouldUseLocalEnergy());
358  }
359 
360  // Apply the root-finding algorithm
361  const RootFinder::Solution theSolution = RootFinder::solve(violationEFunctor, 1.0);
362  if(theSolution.success) { // Apply the solution
363  (*violationEFunctor)(theSolution.x);
364  } else if(theNucleus){
365  INCL_DEBUG("Couldn't enforce energy conservation after an interaction, root-finding algorithm failed." << std::endl);
367  }
368  delete violationEFunctor;
369  violationEFunctor = NULL;
370  return theSolution.success;
371  }
G4bool shouldUseLocalEnergy() const
true if the given avatar should use local energy
const char * p
Definition: xmltok.h:285
Store * getStore() const
UnorderedVector< Particle * > ParticleList
Book & getBook()
Definition: G4INCLStore.hh:237
bool G4bool
Definition: G4Types.hh:79
void incrementEnergyViolationInteraction()
Definition: G4INCLBook.hh:79
Solution solve(RootFunctor const *const f, const G4double x0)
Numerically solve a one-dimensional equation.
G4ThreadLocal G4double effectiveDeltaDecayThreshold
#define INCL_DEBUG(x)
virtual G4INCL::IChannel* G4INCL::InteractionAvatar::getChannel ( )
protectedpure virtual
FinalState * G4INCL::InteractionAvatar::postInteraction ( FinalState fs)
protectedvirtual

Implements G4INCL::IAvatar.

Definition at line 166 of file G4INCLInteractionAvatar.cc.

References G4INCL::FinalState::addOutgoingParticle(), boostVector, bringParticleInside(), G4INCL::Book::decrementCascading(), G4INCL::ParticleTable::effectiveDeltaDecayThreshold, enforceEnergyConservation(), G4INCL::Config::getBackToSpectator(), G4INCL::Store::getBook(), G4INCL::Store::getConfig(), G4INCL::FinalState::getCreatedParticles(), G4INCL::FinalState::getDestroyedParticles(), G4INCL::FinalState::getModifiedParticles(), G4INCL::Random::getSeeds(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::getSurfaceRadius(), G4INCL::Nucleus::getTransmissionBarrier(), INCL_DEBUG, INCL_ERROR, G4INCL::Book::incrementCascading(), G4INCL::Pauli::isBlocked(), G4INCL::Pauli::isCDPPBlocked(), isPiN, G4INCL::FinalState::makeNoEnergyConservation(), G4INCL::FinalState::makePauliBlocked(), oldTotalEnergy, G4INCL::FinalState::print(), G4INCL::Proton, restoreParticles(), G4INCL::FinalState::setTotalEnergyBeforeInteraction(), shouldUseLocalEnergy(), theNucleus, and G4INCL::Math::twoThirds.

Referenced by G4INCL::DecayAvatar::postInteraction(), and G4INCL::BinaryCollisionAvatar::postInteraction().

166  {
167  INCL_DEBUG("postInteraction: final state: " << std::endl << fs->print() << std::endl);
168  ParticleList modified = fs->getModifiedParticles();
169  ParticleList modifiedAndCreated = modified;
170  ParticleList created = fs->getCreatedParticles();
171  modifiedAndCreated.insert(modifiedAndCreated.end(), created.begin(), created.end());
172 
173  if(!isPiN) {
174  // Boost back to lab
175  for(ParticleIter i=modifiedAndCreated.begin(), e=modifiedAndCreated.end(); i!=e; ++i )
176  (*i)->boost(-boostVector);
177  }
178 
179  // If there is no Nucleus, just return
180  if(!theNucleus) return fs;
181 
182  // Mark pions that have been created outside their well (we will force them
183  // to be emitted later).
184  for(ParticleIter i=created.begin(), e=created.end(); i!=e; ++i )
185  if((*i)->isPion() && (*i)->getPosition().mag() > theNucleus->getSurfaceRadius(*i)) {
186  (*i)->makeParticipant();
187  (*i)->setOutOfWell();
188  fs->addOutgoingParticle(*i);
189  INCL_DEBUG("Pion was created outside its potential well." << std::endl
190  << (*i)->print());
191  }
192 
193  // Try to enforce energy conservation
194  fs->setTotalEnergyBeforeInteraction(oldTotalEnergy);
195  G4bool success = true;
196  if(!isPiN || shouldUseLocalEnergy())
197  success = enforceEnergyConservation(fs);
198  if(!success) {
199  INCL_DEBUG("Enforcing energy conservation: failed!" << std::endl);
200 
201  // Restore the state of the initial particles
203 
204  // Delete newly created particles
205  for(ParticleIter i=created.begin(), e=created.end(); i!=e; ++i )
206  delete *i;
207 
208  FinalState *fsBlocked = new FinalState;
209  delete fs;
210  fsBlocked->makeNoEnergyConservation();
211  fsBlocked->setTotalEnergyBeforeInteraction(0.0);
212 
213  return fsBlocked; // Interaction is blocked. Return an empty final state.
214  }
215  INCL_DEBUG("Enforcing energy conservation: success!" << std::endl);
216 
217  INCL_DEBUG("postInteraction after energy conservation: final state: " << std::endl << fs->print() << std::endl);
218 
219  // Check that outgoing delta resonances can decay to pi-N
220  for(ParticleIter i=modified.begin(), e=modified.end(); i!=e; ++i )
221  if((*i)->isDelta() &&
223  INCL_DEBUG("Mass of the produced delta below decay threshold; forbidding collision. deltaMass=" <<
224  (*i)->getMass() << std::endl);
225 
226  // Restore the state of the initial particles
228 
229  // Delete newly created particles
230  for(ParticleIter j=created.begin(), end=created.end(); j!=end; ++j )
231  delete *j;
232 
233  FinalState *fsBlocked = new FinalState;
234  delete fs;
235  fsBlocked->makeNoEnergyConservation();
236  fsBlocked->setTotalEnergyBeforeInteraction(0.0);
237 
238  return fsBlocked; // Interaction is blocked. Return an empty final state.
239  }
240 
241  INCL_DEBUG("Random seeds before Pauli blocking: " << Random::getSeeds() << std::endl);
242  // Test Pauli blocking
243  G4bool isBlocked = Pauli::isBlocked(modifiedAndCreated, theNucleus);
244 
245  if(isBlocked) {
246  INCL_DEBUG("Pauli: Blocked!" << std::endl);
247 
248  // Restore the state of the initial particles
250 
251  // Delete newly created particles
252  for(ParticleIter i=created.begin(), e=created.end(); i!=e; ++i )
253  delete *i;
254 
255  FinalState *fsBlocked = new FinalState;
256  delete fs;
257  fsBlocked->makePauliBlocked();
258  fsBlocked->setTotalEnergyBeforeInteraction(0.0);
259 
260  return fsBlocked; // Interaction is blocked. Return an empty final state.
261  }
262  INCL_DEBUG("Pauli: Allowed!" << std::endl);
263 
264  // Test CDPP blocking
265  G4bool isCDPPBlocked = Pauli::isCDPPBlocked(created, theNucleus);
266 
267  if(isCDPPBlocked) {
268  INCL_DEBUG("CDPP: Blocked!" << std::endl);
269 
270  // Restore the state of the initial particles
272 
273  // Delete newly created particles
274  for(ParticleIter i=created.begin(), e=created.end(); i!=e; ++i )
275  delete *i;
276 
277  FinalState *fsBlocked = new FinalState;
278  delete fs;
279  fsBlocked->makePauliBlocked();
280  fsBlocked->setTotalEnergyBeforeInteraction(0.0);
281 
282  return fsBlocked; // Interaction is blocked. Return an empty final state.
283  }
284  INCL_DEBUG("CDPP: Allowed!" << std::endl);
285 
286  // If all went well, try to bring particles inside the nucleus...
287  for(ParticleIter i=modifiedAndCreated.begin(), e=modifiedAndCreated.end(); i!=e; ++i )
288  {
289  // ...except for pions beyond their surface radius.
290  if((*i)->isOutOfWell()) continue;
291 
292  const G4bool successBringParticlesInside = bringParticleInside(*i);
293  if( !successBringParticlesInside ) {
294  INCL_ERROR("Failed to bring particle inside the nucleus!" << std::endl);
295  }
296  }
297 
298  // Collision accepted!
299  for(ParticleIter i=modifiedAndCreated.begin(), e=modifiedAndCreated.end(); i!=e; ++i ) {
300  if(!(*i)->isOutOfWell()) {
301  // Decide if the particle should be made into a spectator
302  // (Back to spectator)
303  G4bool goesBackToSpectator = false;
304  if((*i)->isNucleon() && theNucleus->getStore()->getConfig()->getBackToSpectator()) {
305  G4double threshold = (*i)->getPotentialEnergy();
306  if((*i)->getType()==Proton)
308  if((*i)->getKineticEnergy() < threshold)
309  goesBackToSpectator = true;
310  }
311 
312  // Thaw the particle propagation
313  (*i)->thawPropagation();
314 
315  // Increment or decrement the participant counters
316  if(goesBackToSpectator) {
317  INCL_DEBUG("The following particle goes back to spectator:" << std::endl
318  << (*i)->print() << std::endl);
319  if(!(*i)->isTargetSpectator()) {
321  }
322  (*i)->makeTargetSpectator();
323  } else {
324  if((*i)->isTargetSpectator()) {
326  }
327  (*i)->makeParticipant();
328  }
329  }
330  }
331  ParticleList destroyed = fs->getDestroyedParticles();
332  for(ParticleIter i=destroyed.begin(), e=destroyed.end(); i!=e; ++i )
333  if(!(*i)->isTargetSpectator())
335 
336  return fs;
337  }
static G4bool isCDPPBlocked(ParticleList const &p, Nucleus const *const n)
Check CDPP blocking.
G4bool shouldUseLocalEnergy() const
true if the given avatar should use local energy
#define INCL_ERROR(x)
Config const * getConfig()
Definition: G4INCLStore.hh:251
Store * getStore() const
G4double getSurfaceRadius(Particle const *const particle) const
Get the maximum allowed radius for a given particle.
SeedVector getSeeds()
Definition: G4INCLRandom.cc:70
UnorderedVector< Particle * > ParticleList
static G4bool isBlocked(ParticleList const &p, Nucleus const *const n)
Check Pauli blocking.
Book & getBook()
Definition: G4INCLStore.hh:237
G4bool getBackToSpectator() const
Get back-to-spectator.
bool G4bool
Definition: G4Types.hh:79
void incrementCascading()
Definition: G4INCLBook.hh:76
void decrementCascading()
Definition: G4INCLBook.hh:77
G4double getTransmissionBarrier(Particle const *const p)
Get the transmission barrier.
G4bool enforceEnergyConservation(FinalState *const fs)
Enforce energy conservation.
void restoreParticles() const
Restore the state of both particles.
const G4double twoThirds
double G4double
Definition: G4Types.hh:76
G4ThreadLocal G4double effectiveDeltaDecayThreshold
G4bool bringParticleInside(Particle *const p)
#define INCL_DEBUG(x)
ParticleList::const_iterator ParticleIter
void G4INCL::InteractionAvatar::preInteraction ( )
protectedvirtual

Implements G4INCL::IAvatar.

Definition at line 119 of file G4INCLInteractionAvatar.cc.

References G4INCL::Particle::boost(), boostVector, G4INCL::Particle::getEnergy(), G4INCL::Particle::getMomentum(), isPiN, G4INCL::KinematicsUtils::makeBoostVector(), particle1, particle2, preInteractionBlocking(), and preInteractionLocalEnergy().

Referenced by G4INCL::DecayAvatar::preInteraction(), and G4INCL::BinaryCollisionAvatar::preInteraction().

119  {
121 
123 
124  if(particle2) {
126  if(!isPiN) {
129  }
130  } else {
132  }
133  if(!isPiN)
135  }
void preInteractionLocalEnergy(Particle *const p)
Apply local-energy transformation, if appropriate.
void boost(const ThreeVector &aBoostVector)
const G4INCL::ThreeVector & getMomentum() const
G4double getEnergy() const
ThreeVector makeBoostVector(Particle const *const p1, Particle const *const p2)
void preInteractionBlocking()
Store the state of the particles before the interaction.
void G4INCL::InteractionAvatar::preInteractionBlocking ( )
protected

Store the state of the particles before the interaction.

If the interaction cannot be realised for any reason, we will need to restore the particle state as it was before. This is done by calling the restoreParticles() method.

Definition at line 92 of file G4INCLInteractionAvatar.cc.

References backupParticle1, backupParticle2, G4INCL::Particle::getEnergy(), G4INCL::Particle::getPotentialEnergy(), oldTotalEnergy, oldXSec, particle1, particle2, and G4INCL::CrossSections::total().

Referenced by preInteraction().

92  {
93  if(backupParticle1)
94  (*backupParticle1) = (*particle1);
95  else
96  backupParticle1 = new Particle(*particle1);
97 
98  if(particle2) {
99  if(backupParticle2)
100  (*backupParticle2) = (*particle2);
101  else
102  backupParticle2 = new Particle(*particle2);
103 
107  } else {
109  }
110  }
G4double getEnergy() const
G4double getPotentialEnergy() const
Get the particle potential energy.
static G4ThreadLocal Particle * backupParticle2
static G4ThreadLocal Particle * backupParticle1
G4double total(Particle const *const p1, Particle const *const p2)
void G4INCL::InteractionAvatar::preInteractionLocalEnergy ( Particle *const  p)
protected

Apply local-energy transformation, if appropriate.

Parameters
pparticle to apply the transformation to

Definition at line 112 of file G4INCLInteractionAvatar.cc.

References G4INCL::Particle::isPion(), shouldUseLocalEnergy(), theNucleus, and G4INCL::KinematicsUtils::transformToLocalEnergyFrame().

Referenced by preInteraction().

112  {
113  if(!theNucleus || p->isPion()) return; // Local energy does not make any sense without a nucleus
114 
117  }
void transformToLocalEnergyFrame(Nucleus const *const n, Particle *const p)
G4bool shouldUseLocalEnergy() const
true if the given avatar should use local energy
const char * p
Definition: xmltok.h:285
G4bool isPion() const
Is this a pion?
void G4INCL::InteractionAvatar::restoreParticles ( ) const
protected

Restore the state of both particles.

The state must first be stored by calling preInteractionBlocking().

Definition at line 339 of file G4INCLInteractionAvatar.cc.

References particle2.

Referenced by G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::DecayAvatar::postInteraction(), and postInteraction().

339  {
340  (*particle1) = (*backupParticle1);
341  if(particle2)
342  (*particle2) = (*backupParticle2);
343  }
G4bool G4INCL::InteractionAvatar::shouldUseLocalEnergy ( ) const
inlineprotected

true if the given avatar should use local energy

Definition at line 102 of file G4INCLInteractionAvatar.hh.

References G4INCL::AlwaysLocalEnergy, G4INCL::DecayAvatarType, G4INCL::FirstCollisionLocalEnergy, G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Store::getConfig(), G4INCL::Config::getLocalEnergyBBType(), G4INCL::Config::getLocalEnergyPiType(), G4INCL::Nucleus::getStore(), G4INCL::IAvatar::getType(), isPiN, and theNucleus.

Referenced by enforceEnergyConservation(), postInteraction(), and preInteractionLocalEnergy().

102  {
103  if(!theNucleus) return false;
104  LocalEnergyType theLocalEnergyType;
105  if(getType()==DecayAvatarType || isPiN)
106  theLocalEnergyType = theNucleus->getStore()->getConfig()->getLocalEnergyPiType();
107  else
108  theLocalEnergyType = theNucleus->getStore()->getConfig()->getLocalEnergyBBType();
109 
110  const G4bool firstAvatar = (theNucleus->getStore()->getBook().getAcceptedCollisions() == 0);
111  return ((theLocalEnergyType == FirstCollisionLocalEnergy && firstAvatar) ||
112  theLocalEnergyType == AlwaysLocalEnergy);
113  }
G4int getAcceptedCollisions() const
Definition: G4INCLBook.hh:99
Config const * getConfig()
Definition: G4INCLStore.hh:251
Store * getStore() const
Book & getBook()
Definition: G4INCLStore.hh:237
bool G4bool
Definition: G4Types.hh:79
LocalEnergyType getLocalEnergyPiType() const
Get the type of local energy for pi-N and decay avatars.
LocalEnergyType getLocalEnergyBBType() const
Get the type of local energy for N-N avatars.
AvatarType getType() const

Field Documentation

G4ThreadLocal Particle * G4INCL::InteractionAvatar::backupParticle1 = NULL
staticprotected
G4ThreadLocal Particle * G4INCL::InteractionAvatar::backupParticle2 = NULL
staticprotected
ThreeVector G4INCL::InteractionAvatar::boostVector
protected
G4bool G4INCL::InteractionAvatar::isPiN
protected
const G4double G4INCL::InteractionAvatar::locEAccuracy = 1.E-4
static

Target accuracy in the determination of the local-energy Q-value.

Definition at line 66 of file G4INCLInteractionAvatar.hh.

const G4int G4INCL::InteractionAvatar::maxIterLocE = 50
static

Max number of iterations for the determination of the local-energy Q-value.

Definition at line 68 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldTotalEnergy
protected
G4double G4INCL::InteractionAvatar::oldXSec
protected
Particle* G4INCL::InteractionAvatar::particle1
protected
Particle * G4INCL::InteractionAvatar::particle2
protected
Nucleus* G4INCL::InteractionAvatar::theNucleus
protected

The documentation for this class was generated from the following files: