List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
utl::Particle Class Reference

Describes a particle for Simulation. More...

#include <Particle.h>

Public Types

enum  Source {
  eShower, eBackground, eShowerFromMuonDecay, eShowerFromLocalHadron,
  eCornerClipping
}
 
enum  Type {
  eUndefined = 0, eElectron = 11, ePositron = -11, eNuElectron = 12,
  eAntiNuElectron = -12, eMuon = 13, eAntiMuon = -13, eNuMuon = 14,
  eAntiNuMuon = -14, eTau = 15, eAntiTau = -15, eNuTau = 16,
  eAntiNuTau = -16, ePhoton = 22, eDecayedMuon = 96, eDecayedAntiMuon = 95,
  ePiZero = 111, eRhoZero = 113, ePiPlus = 211, ePiMinus = -211,
  eRhoPlus = 213, eRhoMinus = -213, eEta = 221, eOmegaMeson = 223,
  eKaon0L = 130, eKaon0S = 310, eKaonStarZero = 313, eAntiKaonStarZero = -313,
  eKaonPlus = 321, eKaonMinus = -321, eKaonStarPlus = 323, eAntiKaonStarMinus = -323,
  ePhi = 333, eDeltaMinus = 1114, eAntiDeltaPlus = -1114, eNeutron = 2112,
  eAntiNeutron = -2112, eDeltaZero = 2114, eAntiDeltaZero = -2114, eProton = 2212,
  eAntiProton = -2212, eDeltaPlus = 2214, eAntiDeltaMinus = -2214, eDeltaPlusPlus = 2224,
  eAntiDeltaMinusMinus = -2224, eLambda = 3122, eAntiLambda = -3122, eSigmaPlus = 3222,
  eSigmaZero = 3212, eSigmaMinus = 3112, eAntiSigmaPlus = -3222, eAntiSigmaZero = -3212,
  eAntiSigmaMinus = -3112, eXiZero = 3322, eXiMinus = 3312, eAntiXiZero = -3322,
  eAntiXiMinus = -3312, eOmegaMinus = 3332, eAntiOmegaMinus = -3332, eLambdac = 4122,
  eIron = 1000026056
}
 Particle types. More...
 

Public Member Functions

const VectorGetDirection () const
 Unit vector giving particle direction. More...
 
double GetKineticEnergy () const
 Get kinetic energy of the particle. More...
 
double GetMass () const
 Mass of the particle. More...
 
Vector GetMomentum () const
 Vector giving particle momentum. More...
 
std::string GetName () const
 string with particle name More...
 
ParticleGetParent ()
 
const ParticleGetParent () const
 
const PointGetPosition () const
 Position of the particle. More...
 
const utl::PointGetProductionPoint () const
 
Source GetSource () const
 Source of the particle (eg. shower or background) More...
 
const TimeIntervalGetTime () const
 Arrival time delay at the ground. More...
 
double GetTotalEnergy () const
 Get Total (relativistic) energy. More...
 
int GetType () const
 
double GetWeight () const
 Particle weight (assigned by shower generator thinning algorithms) More...
 
bool HasParent () const
 
bool HasProductionPoint () const
 
 Particle (const int type, const Source &source, const Point &position, const Vector &direction, const TimeInterval &time, const double weight, const double kineticEnergy)
 Constructor using kinetic energy. More...
 
 Particle (const int type, const Source &source, const Point &position, const Vector &momentum, const TimeInterval &time, const double weight)
 Constructor using momentum. More...
 
void SetDirection (const utl::Vector &direction)
 
void SetKineticEnergy (const double ke)
 Set kinetic energy of the particle. More...
 
void SetMomentum (const utl::Vector &momentum)
 
void SetParent (Particle &parent)
 
void SetPosition (const utl::Point &position)
 
void SetProductionPoint (const utl::Point &point)
 
void SetTime (const TimeInterval &time)
 
void SetTotalEnergy (const double totE)
 Set Total (relativistic) energy. More...
 
void SetWeight (const double weight)
 

Static Public Member Functions

static int NucleusCode (const int charge, const int atomicNumber)
 Calculate particle type code for a given (A, Z) More...
 

Private Attributes

utl::Vector fDirection
 
double fKineticEnergy = 0
 
boost::shared_ptr< ParticlefParent
 
utl::Point fPosition
 
boost::shared_ptr< const
utl::Point
fProductionPoint
 
ParticlePropertiesPtr fProperties
 
Source fSource = eShower
 
TimeInterval fTime
 
double fWeight = 0
 

Detailed Description

Describes a particle for Simulation.

Author
Stefano Argiro'
Date
27 January 2003

Definition at line 26 of file Particle.h.

Member Enumeration Documentation

Enumerator
eShower 
eBackground 
eShowerFromMuonDecay 
eShowerFromLocalHadron 
eCornerClipping 

Definition at line 31 of file Particle.h.

Particle types.

Enumeration of type codes of the particles appearing in Auger simulations. The codes com from the PDG http://pdg.lbl.gov/.

For an extension to nuclei, see utl::NucleusProperties.

Enumerator
eUndefined 
eElectron 
ePositron 
eNuElectron 
eAntiNuElectron 
eMuon 
eAntiMuon 
eNuMuon 
eAntiNuMuon 
eTau 
eAntiTau 
eNuTau 
eAntiNuTau 
ePhoton 
eDecayedMuon 
eDecayedAntiMuon 
ePiZero 
eRhoZero 
ePiPlus 
ePiMinus 
eRhoPlus 
eRhoMinus 
eEta 
eOmegaMeson 
eKaon0L 
eKaon0S 
eKaonStarZero 
eAntiKaonStarZero 
eKaonPlus 
eKaonMinus 
eKaonStarPlus 
eAntiKaonStarMinus 
ePhi 
eDeltaMinus 
eAntiDeltaPlus 
eNeutron 
eAntiNeutron 
eDeltaZero 
eAntiDeltaZero 
eProton 
eAntiProton 
eDeltaPlus 
eAntiDeltaMinus 
eDeltaPlusPlus 
eAntiDeltaMinusMinus 
eLambda 
eAntiLambda 
eSigmaPlus 
eSigmaZero 
eSigmaMinus 
eAntiSigmaPlus 
eAntiSigmaZero 
eAntiSigmaMinus 
eXiZero 
eXiMinus 
eAntiXiZero 
eAntiXiMinus 
eOmegaMinus 
eAntiOmegaMinus 
eLambdac 
eIron 

Definition at line 48 of file Particle.h.

Constructor & Destructor Documentation

Particle::Particle ( const int  type,
const Source source,
const Point position,
const Vector direction,
const TimeInterval time,
const double  weight,
const double  kineticEnergy 
)

Constructor using kinetic energy.

Definition at line 25 of file Particle.cc.

Referenced by SetParent().

Particle::Particle ( const int  type,
const Source source,
const Point position,
const Vector momentum,
const TimeInterval time,
const double  weight 
)

Constructor using momentum.

Definition at line 39 of file Particle.cc.

References SetMomentum().

Member Function Documentation

const Vector& utl::Particle::GetDirection ( ) const
inline
double utl::Particle::GetKineticEnergy ( ) const
inline
double utl::Particle::GetMass ( ) const
inline

Mass of the particle.

Definition at line 142 of file Particle.h.

References fProperties.

Referenced by GetMomentum(), GetTotalEnergy(), SetMomentum(), SetTotalEnergy(), testParticle::testMomentum(), and testParticle::testProperties().

utl::Vector Particle::GetMomentum ( ) const

Vector giving particle momentum.

Definition at line 55 of file Particle.cc.

References fDirection, fKineticEnergy, GetMass(), utl::m, G4StationSimulatorOG::p, utl::Sqr(), and sqrt().

Referenced by testParticle::testMomentum().

std::string utl::Particle::GetName ( ) const
inline
Particle& utl::Particle::GetParent ( )
inline
const Particle& utl::Particle::GetParent ( ) const
inline

Definition at line 149 of file Particle.h.

References fParent.

const Point& utl::Particle::GetPosition ( ) const
inline
const utl::Point& utl::Particle::GetProductionPoint ( ) const
inline
Source utl::Particle::GetSource ( ) const
inline
const TimeInterval& utl::Particle::GetTime ( ) const
inline
double utl::Particle::GetTotalEnergy ( ) const
inline

Get Total (relativistic) energy.

Definition at line 136 of file Particle.h.

References fKineticEnergy, and GetMass().

Referenced by testParticle::testMomentum().

int utl::Particle::GetType ( ) const
inline
double utl::Particle::GetWeight ( ) const
inline
bool utl::Particle::HasParent ( ) const
inline
bool utl::Particle::HasProductionPoint ( ) const
inline
int Particle::NucleusCode ( const int  charge,
const int  atomicNumber 
)
static

Calculate particle type code for a given (A, Z)

Definition at line 74 of file Particle.cc.

References utl::NucleusProperties::TypeCode().

void utl::Particle::SetDirection ( const utl::Vector direction)
inline

Definition at line 115 of file Particle.h.

References fDirection.

Referenced by MdShowerRegeneratorAG::MdShowerRegenerator::Run().

void utl::Particle::SetKineticEnergy ( const double  ke)
inline

Set kinetic energy of the particle.

Definition at line 133 of file Particle.h.

References fKineticEnergy.

void Particle::SetMomentum ( const utl::Vector momentum)
void utl::Particle::SetParent ( Particle parent)
inline
void utl::Particle::SetPosition ( const utl::Point position)
inline
void utl::Particle::SetProductionPoint ( const utl::Point point)
inline
void utl::Particle::SetTime ( const TimeInterval time)
inline
void utl::Particle::SetTotalEnergy ( const double  totE)
inline

Set Total (relativistic) energy.

Definition at line 139 of file Particle.h.

References fKineticEnergy, and GetMass().

void utl::Particle::SetWeight ( const double  weight)
inline

Member Data Documentation

utl::Vector utl::Particle::fDirection
private

Definition at line 166 of file Particle.h.

Referenced by GetDirection(), GetMomentum(), SetDirection(), and SetMomentum().

double utl::Particle::fKineticEnergy = 0
private
boost::shared_ptr<Particle> utl::Particle::fParent
private

Definition at line 158 of file Particle.h.

Referenced by GetParent(), HasParent(), and SetParent().

utl::Point utl::Particle::fPosition
private

Definition at line 165 of file Particle.h.

Referenced by GetPosition(), and SetPosition().

boost::shared_ptr<const utl::Point> utl::Particle::fProductionPoint
private

Definition at line 159 of file Particle.h.

Referenced by GetProductionPoint(), HasProductionPoint(), and SetProductionPoint().

ParticlePropertiesPtr utl::Particle::fProperties
private

Definition at line 162 of file Particle.h.

Referenced by GetMass(), GetName(), and GetType().

Source utl::Particle::fSource = eShower
private

Definition at line 163 of file Particle.h.

Referenced by GetSource().

TimeInterval utl::Particle::fTime
private

Definition at line 168 of file Particle.h.

Referenced by GetTime(), and SetTime().

double utl::Particle::fWeight = 0
private

Definition at line 169 of file Particle.h.

Referenced by GetWeight(), and SetWeight().


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

, generated on Tue Sep 26 2023.