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

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/inclxx/utils/include/G4INCLThreeVector.hh>

Public Member Functions

 ThreeVector ()
 
 ThreeVector (G4double ax, G4double ay, G4double az)
 
G4double getX () const
 
G4double getY () const
 
G4double getZ () const
 
G4double perp () const
 
G4double perp2 () const
 
G4double mag () const
 
G4double mag2 () const
 
G4double theta () const
 
G4double phi () const
 
G4double dot (const ThreeVector &v) const
 
ThreeVector vector (const ThreeVector &v) const
 
void setX (G4double ax)
 Set the x coordinate.
 
void setY (G4double ay)
 Set the y coordinate.
 
void setZ (G4double az)
 Set the z coordinate.
 
void set (const G4double ax, const G4double ay, const G4double az)
 Set all the coordinates.
 
void operator+= (const ThreeVector &v)
 
ThreeVector operator- () const
 Unary minus operator.
 
void operator-= (const ThreeVector &v)
 
template<typename T >
void operator*= (const T &c)
 
template<typename T >
void operator/= (const T &c)
 
ThreeVector operator- (const ThreeVector &v) const
 
ThreeVector operator+ (const ThreeVector &v) const
 
ThreeVector operator/ (const G4double C) const
 
ThreeVector operator* (const G4double C) const
 
void rotate (const G4double angle, const ThreeVector &axis)
 Rotate the vector by a given angle around a given axis.
 
ThreeVector anyOrthogonal () const
 Return a vector orthogonal to this.
 
std::string print () const
 
std::string dump () const
 

Private Attributes

G4double x
 
G4double y
 
G4double z
 

Detailed Description

Definition at line 54 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 54 of file G4INCLThreeVector.hh

Constructor & Destructor Documentation

G4INCL::ThreeVector::ThreeVector ( )
inline

Definition at line 56 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 56 of file G4INCLThreeVector.hh

Referenced by anyOrthogonal(), operator*(), operator+(), operator-(), operator/(), and vector().

+ Here is the caller graph for this function:

G4INCL::ThreeVector::ThreeVector ( G4double  ax,
G4double  ay,
G4double  az 
)
inline

Definition at line 60 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 60 of file G4INCLThreeVector.hh

Member Function Documentation

ThreeVector G4INCL::ThreeVector::anyOrthogonal ( ) const
inline

Return a vector orthogonal to this.

Simple algorithm from Hughes and Moeller, J. Graphics Tools 4 (1999) 33.

Definition at line 191 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 191 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

std::string G4INCL::ThreeVector::dump ( ) const
inline

Definition at line 206 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 206 of file G4INCLThreeVector.hh

References x, y, and z.

Referenced by G4INCL::Particle::dump().

+ Here is the caller graph for this function:

G4double G4INCL::ThreeVector::mag ( ) const
inline

Get the length of the vector.

Definition at line 73 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 73 of file G4INCLThreeVector.hh

References x, y, and z.

Referenced by G4INCL::InteractionAvatar::bringParticleInside(), G4INCL::SigmaZeroDecayChannel::computeDecayTime(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::Nucleus::decayOutgoingDeltas(), G4INCL::Nucleus::decayOutgoingPionResonances(), G4INCL::Nucleus::decayOutgoingSigmaZero(), G4INCL::CoulombNonRelativistic::distortOut(), G4INCL::Nucleus::fillEventInfo(), G4INCL::NDeltaEtaProductionChannel::fillFinalState(), G4INCL::NDeltaOmegaProductionChannel::fillFinalState(), G4INCL::StrangeAbsorbtionChannel::fillFinalState(), G4INCL::DeltaProductionChannel::fillFinalState(), G4INCL::SigmaZeroDecayChannel::fillFinalState(), G4INCL::PionResonanceDecayChannel::fillFinalState(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::PhaseSpaceGenerator::generateBiased(), G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar(), G4INCL::Particle::getBeta(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::ClusteringModelIntercomparison::getCluster(), G4INCL::KinematicsUtils::getLocalEnergy(), G4INCL::Particle::getReflectionMomentum(), G4INCL::BinaryCollisionAvatar::postInteraction(), G4INCL::ParticleSampler::sampleOneParticleWithRPCorrelation(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

+ Here is the caller graph for this function:

G4double G4INCL::ThreeVector::mag2 ( ) const
inline

Get the square of the length.

Definition at line 78 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 78 of file G4INCLThreeVector.hh

References x, y, and z.

Referenced by G4INCL::ProjectileRemnant::addAllDynamicalSpectators(), G4INCL::ProjectileRemnant::addDynamicalSpectator(), G4INCL::ProjectileRemnant::addMostDynamicalSpectators(), G4INCL::Particle::adjustEnergyFromMomentum(), G4INCL::Particle::adjustMomentumFromEnergy(), G4INCL::Particle::boost(), G4INCL::InteractionAvatar::bringParticleInside(), G4INCL::ClusteringModelIntercomparison::clusterCanEscape(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::KinematicsUtils::energy(), G4INCL::PiNToDeltaChannel::fillFinalState(), G4INCL::ReflectionChannel::fillFinalState(), G4INCL::ElasticChannel::fillFinalState(), G4INCL::Cluster::freezeInternalMotion(), G4INCL::PhaseSpaceRauboldLynch::generateEvent(), G4INCL::PauliStandard::getBlockingProbability(), G4INCL::BinaryCollisionAvatar::getChannel(), G4INCL::Particle::getCosRPAngle(), G4INCL::Particle::getLongitudinalPosition(), G4INCL::StandardPropagationModel::getTime(), G4INCL::SurfaceAvatar::getTransmissionProbability(), G4INCL::Particle::lorentzContract(), G4INCL::INCL::makeCompoundNucleus(), G4INCL::Particle::Particle(), G4INCL::ParticleEntryChannel::particleEnters(), G4INCL::TransmissionChannel::particleLeaves(), G4INCL::Cluster::putParticlesOffShell(), G4INCL::INCL::RecoilCMFunctor::scaleParticleCMMomenta(), G4INCL::INCL::RecoilFunctor::scaleParticleEnergies(), G4INCL::KinematicsUtils::squareInvariantMass(), G4INCL::KinematicsUtils::squareTotalEnergyInCM(), and G4INCL::Nucleus::useFusionKinematics().

+ Here is the caller graph for this function:

ThreeVector G4INCL::ThreeVector::operator* ( const G4double  C) const
inline

Definition at line 170 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 170 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

template<typename T >
void G4INCL::ThreeVector::operator*= ( const T c)
inline

Definition at line 142 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 142 of file G4INCLThreeVector.hh

References c, x, y, and z.

Referenced by operator/=().

+ Here is the caller graph for this function:

ThreeVector G4INCL::ThreeVector::operator+ ( const ThreeVector v) const
inline

Definition at line 158 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 158 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

void G4INCL::ThreeVector::operator+= ( const ThreeVector v)
inline

Definition at line 124 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 124 of file G4INCLThreeVector.hh

References x, y, and z.

ThreeVector G4INCL::ThreeVector::operator- ( ) const
inline

Unary minus operator.

Definition at line 131 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 131 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

ThreeVector G4INCL::ThreeVector::operator- ( const ThreeVector v) const
inline

Definition at line 154 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 154 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

void G4INCL::ThreeVector::operator-= ( const ThreeVector v)
inline

Definition at line 135 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 135 of file G4INCLThreeVector.hh

References x, y, and z.

ThreeVector G4INCL::ThreeVector::operator/ ( const G4double  C) const
inline

Divides all components of the vector with a constant number.

Definition at line 165 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 165 of file G4INCLThreeVector.hh

References C(), ThreeVector(), x, y, and z.

+ Here is the call graph for this function:

template<typename T >
void G4INCL::ThreeVector::operator/= ( const T c)
inline

Definition at line 149 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 149 of file G4INCLThreeVector.hh

References c, and operator*=().

+ Here is the call graph for this function:

G4double G4INCL::ThreeVector::perp ( ) const
inline

Definition at line 68 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 68 of file G4INCLThreeVector.hh

References x, and y.

Referenced by G4INCL::StrangeAbsorbtionChannel::fillFinalState(), G4INCL::DeltaDecayChannel::fillFinalState(), G4INCL::PionResonanceDecayChannel::fillFinalState(), G4INCL::SigmaZeroDecayChannel::fillFinalState(), and theta().

+ Here is the caller graph for this function:

G4double G4INCL::ThreeVector::perp2 ( ) const
inline

Definition at line 69 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 69 of file G4INCLThreeVector.hh

References x, and y.

Referenced by G4INCL::ElasticChannel::fillFinalState().

+ Here is the caller graph for this function:

G4double G4INCL::ThreeVector::phi ( ) const
inline

Phi angle

Definition at line 90 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 90 of file G4INCLThreeVector.hh

References x, and y.

Referenced by G4INCL::Nucleus::fillEventInfo().

+ Here is the caller graph for this function:

std::string G4INCL::ThreeVector::print ( ) const
inline

Definition at line 200 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 200 of file G4INCLThreeVector.hh

References x, y, and z.

Referenced by G4INCL::Cluster::print(), and G4INCL::Particle::print().

+ Here is the caller graph for this function:

void G4INCL::ThreeVector::rotate ( const G4double  angle,
const ThreeVector axis 
)
inline

Rotate the vector by a given angle around a given axis.

Parameters
anglethe rotation angle
axisthe rotation axis, which must be a unit vector

Definition at line 179 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 179 of file G4INCLThreeVector.hh

References dot(), and vector().

Referenced by G4INCL::Particle::rotateMomentum(), and G4INCL::Particle::rotatePosition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::ThreeVector::set ( const G4double  ax,
const G4double  ay,
const G4double  az 
)
inline

Set all the coordinates.

Definition at line 122 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 122 of file G4INCLThreeVector.hh

References KF_timing::ax, x, y, and z.

void G4INCL::ThreeVector::setX ( G4double  ax)
inline

Set the x coordinate.

Definition at line 113 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 113 of file G4INCLThreeVector.hh

References KF_timing::ax, and x.

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceKopylov::generate(), and G4INCL::Cluster::internalBoostToCM().

+ Here is the caller graph for this function:

void G4INCL::ThreeVector::setY ( G4double  ay)
inline

Set the y coordinate.

Definition at line 116 of file G4INCLThreeVector.hh.

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

References y.

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceKopylov::generate(), and G4INCL::Cluster::internalBoostToCM().

+ Here is the caller graph for this function:

void G4INCL::ThreeVector::setZ ( G4double  az)
inline

Set the z coordinate.

Definition at line 119 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 119 of file G4INCLThreeVector.hh

References z.

Referenced by G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::PhaseSpaceKopylov::generate(), and G4INCL::Cluster::internalBoostToCM().

+ Here is the caller graph for this function:

G4double G4INCL::ThreeVector::theta ( ) const
inline

Theta angle

Definition at line 83 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 83 of file G4INCLThreeVector.hh

References perp(), x, y, and z.

Referenced by G4INCL::Nucleus::fillEventInfo(), G4INCL::NpiToLKpiChannel::fillFinalState(), G4INCL::NpiToSKpiChannel::fillFinalState(), G4INCL::NpiToSK2piChannel::fillFinalState(), G4INCL::NpiToNKKbChannel::fillFinalState(), G4INCL::NNToNSKpiChannel::fillFinalState(), and G4INCL::NpiToLK2piChannel::fillFinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ThreeVector G4INCL::ThreeVector::vector ( const ThreeVector v) const
inline

Vector product.

Definition at line 104 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 104 of file G4INCLThreeVector.hh

References ThreeVector(), x, y, and z.

Referenced by G4INCL::CoulombNonRelativistic::coulombDeviation(), G4INCL::Particle::getAngularMomentum(), and rotate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4INCL::ThreeVector::x
private

Definition at line 213 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 213 of file G4INCLThreeVector.hh

Referenced by anyOrthogonal(), dot(), dump(), getX(), mag(), mag2(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), perp(), perp2(), phi(), print(), set(), setX(), theta(), and vector().

G4double G4INCL::ThreeVector::y
private

Definition at line 213 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 213 of file G4INCLThreeVector.hh

Referenced by anyOrthogonal(), dot(), dump(), getY(), mag(), mag2(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), perp(), perp2(), phi(), print(), set(), setY(), theta(), and vector().

G4double G4INCL::ThreeVector::z
private

Definition at line 213 of file G4INCLThreeVector.hh.

View newest version in sPHENIX GitHub at line 213 of file G4INCLThreeVector.hh

Referenced by anyOrthogonal(), dot(), dump(), getZ(), mag(), mag2(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), print(), set(), setZ(), theta(), and vector().


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