ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4INCL::InteractionAvatar::ViolationEMomentumFunctor Class Reference

RootFunctor-derived object for enforcing energy conservation in N-N. More...

+ Inheritance diagram for G4INCL::InteractionAvatar::ViolationEMomentumFunctor:
+ Collaboration diagram for G4INCL::InteractionAvatar::ViolationEMomentumFunctor:

Public Member Functions

 ViolationEMomentumFunctor (Nucleus *const nucleus, ParticleList const &modAndCre, const G4double totalEnergyBeforeInteraction, ThreeVector const &boost, const G4bool localE)
 Prepare for calling the () operator and scaleParticleMomenta.
 
virtual ~ViolationEMomentumFunctor ()
 
G4double operator() (const G4double x) const
 Compute the energy-conservation violation.
 
void cleanUp (const G4bool success) const
 Clean up after root finding.
 
- Public Member Functions inherited from G4INCL::RootFunctor
virtual ~RootFunctor ()
 
- Public Member Functions inherited from G4INCL::IFunction1D
 IFunction1D ()
 
 IFunction1D (const G4double x0, const G4double x1)
 
virtual ~IFunction1D ()
 
virtual G4double getXMinimum () const
 Return the minimum allowed value of the independent variable.
 
virtual G4double getXMaximum () const
 Return the maximum allowed value of the independent variable.
 
virtual G4double integrate (const G4double x0, const G4double x1, const G4double step=-1.) const
 Integrate the function between two values.
 
IFunction1Dprimitive () const
 Return a pointer to the (numerical) primitive to this function.
 
InterpolationTableinverseCDFTable (ManipulatorFunc fWrap=0, const G4int nNodes=60) const
 Return a pointer to the inverse of the CDF of this function.
 

Private Member Functions

void scaleParticleMomenta (const G4double alpha) const
 Scale the momenta of the modified and created particles.
 

Private Attributes

ParticleList finalParticles
 List of final-state particles.
 
std::vector< ThreeVectorparticleMomenta
 CM particle momenta, as determined by the channel.
 
G4double initialEnergy
 Total energy before the interaction.
 
NucleustheNucleus
 Pointer to the nucleus.
 
ThreeVector const & boostVector
 Pointer to the boost vector.
 
const G4bool shouldUseLocalEnergy
 True if we should use local energy.
 

Additional Inherited Members

- Public Types inherited from G4INCL::IFunction1D
typedef G4double(*const ManipulatorFunc )(const G4double)
 Typedef to simplify the syntax of inverseCDFTable.
 
- Protected Member Functions inherited from G4INCL::RootFunctor
 RootFunctor (const G4double x0, const G4double x1)
 
- Protected Attributes inherited from G4INCL::IFunction1D
G4double xMin
 Minimum value of the independent variable.
 
G4double xMax
 Maximum value of the independent variable.
 

Detailed Description

RootFunctor-derived object for enforcing energy conservation in N-N.

Definition at line 116 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 116 of file G4INCLInteractionAvatar.hh

Constructor & Destructor Documentation

G4INCL::InteractionAvatar::ViolationEMomentumFunctor::ViolationEMomentumFunctor ( Nucleus *const  nucleus,
ParticleList const &  modAndCre,
const G4double  totalEnergyBeforeInteraction,
ThreeVector const &  boost,
const G4bool  localE 
)

Prepare for calling the () operator and scaleParticleMomenta.

The constructor sets the private class members.

Definition at line 391 of file G4INCLInteractionAvatar.cc.

View newest version in sPHENIX GitHub at line 391 of file G4INCLInteractionAvatar.cc

References boostVector, e, finalParticles, and particleMomenta.

G4INCL::InteractionAvatar::ViolationEMomentumFunctor::~ViolationEMomentumFunctor ( )
virtual

Definition at line 407 of file G4INCLInteractionAvatar.cc.

View newest version in sPHENIX GitHub at line 407 of file G4INCLInteractionAvatar.cc

Member Function Documentation

void G4INCL::InteractionAvatar::ViolationEMomentumFunctor::cleanUp ( const G4bool  success) const
virtual

Clean up after root finding.

Implements G4INCL::RootFunctor.

Definition at line 475 of file G4INCLInteractionAvatar.cc.

View newest version in sPHENIX GitHub at line 475 of file G4INCLInteractionAvatar.cc

G4double G4INCL::InteractionAvatar::ViolationEMomentumFunctor::operator() ( const G4double  x) const
virtual

Compute the energy-conservation violation.

Parameters
xscale factor for the particle momenta
Returns
the energy-conservation violation

Implements G4INCL::IFunction1D.

Definition at line 411 of file G4INCLInteractionAvatar.cc.

View newest version in sPHENIX GitHub at line 411 of file G4INCLInteractionAvatar.cc

References e.

void G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta ( const G4double  alpha) const
private

Scale the momenta of the modified and created particles.

Set the momenta of the modified and created particles to alpha times their original momenta (stored in particleMomenta). You must call init() before using this method.

Parameters
alphascale factor

Definition at line 421 of file G4INCLInteractionAvatar.cc.

View newest version in sPHENIX GitHub at line 421 of file G4INCLInteractionAvatar.cc

References kdfinder::abs(), G4INCL::InteractionAvatar::boostVector, e, energy, G4INCL::Particle::getA(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::InteractionAvatar::locEAccuracy, G4INCL::InteractionAvatar::maxIterLocE, G4INCL::InteractionAvatar::shouldUseLocalEnergy(), G4INCL::InteractionAvatar::theNucleus, and G4INCL::Nucleus::updatePotentialEnergy().

+ Here is the call graph for this function:

Member Data Documentation

ThreeVector const& G4INCL::InteractionAvatar::ViolationEMomentumFunctor::boostVector
private

Pointer to the boost vector.

Definition at line 145 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 145 of file G4INCLInteractionAvatar.hh

Referenced by ViolationEMomentumFunctor().

ParticleList G4INCL::InteractionAvatar::ViolationEMomentumFunctor::finalParticles
private

List of final-state particles.

Definition at line 137 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 137 of file G4INCLInteractionAvatar.hh

Referenced by ViolationEMomentumFunctor().

G4double G4INCL::InteractionAvatar::ViolationEMomentumFunctor::initialEnergy
private

Total energy before the interaction.

Definition at line 141 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 141 of file G4INCLInteractionAvatar.hh

std::vector<ThreeVector> G4INCL::InteractionAvatar::ViolationEMomentumFunctor::particleMomenta
private

CM particle momenta, as determined by the channel.

Definition at line 139 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 139 of file G4INCLInteractionAvatar.hh

Referenced by ViolationEMomentumFunctor().

const G4bool G4INCL::InteractionAvatar::ViolationEMomentumFunctor::shouldUseLocalEnergy
private

True if we should use local energy.

Definition at line 148 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 148 of file G4INCLInteractionAvatar.hh

Nucleus* G4INCL::InteractionAvatar::ViolationEMomentumFunctor::theNucleus
private

Pointer to the nucleus.

Definition at line 143 of file G4INCLInteractionAvatar.hh.

View newest version in sPHENIX GitHub at line 143 of file G4INCLInteractionAvatar.hh


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