Describes a particle for Simulation. More...
#include <Particle.h>
Public Member Functions | |
const Vector & | GetDirection () 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... | |
Particle & | GetParent () |
const Particle & | GetParent () const |
const Point & | GetPosition () const |
Position of the particle. More... | |
const utl::Point & | GetProductionPoint () const |
Source | GetSource () const |
Source of the particle (eg. shower or background) More... | |
const TimeInterval & | GetTime () 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< Particle > | fParent |
utl::Point | fPosition |
boost::shared_ptr< const utl::Point > | fProductionPoint |
ParticlePropertiesPtr | fProperties |
Source | fSource = eShower |
TimeInterval | fTime |
double | fWeight = 0 |
Enumerator | |
---|---|
eShower | |
eBackground | |
eShowerFromMuonDecay | |
eShowerFromLocalHadron | |
eCornerClipping |
Definition at line 31 of file Particle.h.
enum utl::Particle::Type |
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.
Definition at line 48 of file Particle.h.
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 | ||
) |
|
inline |
Unit vector giving particle direction.
Definition at line 114 of file Particle.h.
References fDirection.
Referenced by otoa::MD2ADST::AddParticle(), sevt::Station::AddParticle(), FastTankSimulatorOG::FastTankSimulator::CalculateDistanceInTank(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), ParticleInjectorNEU::ParticleInjector::InjectParticles(), RPCSimulatorLX::RPCSimulator::Run(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedShowerRegeneratorOG::CachedShowerRegenerator::Run(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses(), and testParticle::testMomentum().
|
inline |
Get kinetic energy of the particle.
Definition at line 130 of file Particle.h.
References fKineticEnergy.
Referenced by otoa::MD2ADST::AddParticle(), FastTankSimulatorOG::FastTankSimulator::CalculateIntegratedCerenkovRate(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedDirectInjectorOG::CachedDirectInjector::Run(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulateElectrons(), FastTankSimulatorOG::FastTankSimulator::SimulateMuons(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), and testParticle::testMomentum().
|
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().
|
inline |
string with particle name
Definition at line 104 of file Particle.h.
References fProperties.
Referenced by compareNames(), CompareNames(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), testParticle::testMomentum(), and testParticle::testProperties().
|
inline |
Definition at line 148 of file Particle.h.
References fParent.
Referenced by cevt::StationSimData::AddParticle(), io::CorsikaShowerFileParticleIterator::GetOneParticle(), cevt::Station::GetSignalComponent(), and io::Particle_ROOT::Particle_ROOT().
|
inline |
Definition at line 149 of file Particle.h.
References fParent.
|
inline |
Position of the particle.
Definition at line 110 of file Particle.h.
References fPosition.
Referenced by otoa::MD2ADST::AddParticle(), sevt::Station::AddParticle(), FastTankSimulatorOG::FastTankSimulator::CalculateDistanceInTank(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), io::CorsikaShowerFileParticleIterator::GetOneParticle(), ParticleInjectorNEU::ParticleInjector::InjectParticles(), RPCSimulatorLX::RPCSimulator::Run(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedDirectInjectorOG::CachedDirectInjector::Run(), CachedShowerRegeneratorOG::CachedShowerRegenerator::Run(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inline |
Definition at line 153 of file Particle.h.
References fProductionPoint.
Referenced by io::Particle_ROOT::Particle_ROOT(), and G4StationSimulatorOG::G4StationSteppingAction::UserSteppingAction().
|
inline |
Source of the particle (eg. shower or background)
Definition at line 107 of file Particle.h.
References fSource.
Referenced by G4StationSimulatorOG::G4StationSimulator::AddInjectedParticle(), otoa::MD2ADST::AddParticle(), TabulatedTankSimulatorNS::TabulatedTankSimulator::AddPhoton(), cevt::Station::GetSignalComponent(), CachedShowerRegeneratorOG::IsMuonic(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), G4XTankSimulatorAG::G4XTankPMT::SetParticle(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), and G4StationSimulatorOG::G4StationSteppingAction::UserSteppingAction().
|
inline |
Arrival time delay at the ground.
Definition at line 122 of file Particle.h.
References fTime.
Referenced by FastTankSimulatorOG::FastTankSimulator::CalculatePhotoElectrons(), G4StationSimulatorOG::G4StationPrimaryGenerator::GeneratePrimaries(), RPCSimulatorLX::RPCSimulator::Run(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedDirectInjectorOG::CachedDirectInjector::Run(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inline |
Get Total (relativistic) energy.
Definition at line 136 of file Particle.h.
References fKineticEnergy, and GetMass().
Referenced by testParticle::testMomentum().
|
inline |
Definition at line 101 of file Particle.h.
References fProperties.
Referenced by G4StationSimulatorOG::G4StationSimulator::AddInjectedParticle(), cevt::StationSimData::AddParticle(), otoa::MD2ADST::AddParticle(), TabulatedTankSimulatorNS::TabulatedTankSimulator::AddPhoton(), FastTankSimulatorOG::FastTankSimulator::CalculateIntegratedCerenkovRate(), FastTankSimulatorOG::FastTankSimulator::CalculatePhotoElectrons(), sevt::ScintillatorSimData::CountParticle(), sevt::StationSimData::CountParticle(), cevt::Station::GetSignalComponent(), CachedShowerRegeneratorOG::IsMuonic(), io::AiresShowerFile::Read(), RPCSimulatorLX::RPCSimulator::Run(), FastTankSimulatorOG::FastTankSimulator::Run(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), UnderGrdInjectorAG::UnderGrdInjector::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), G4TankSimulatorASCII::G4TankPMT::SetComponent(), G4XTankSimulatorAG::G4XTankPMT::SetComponent(), EdepSimulatorAG::SteppingAction::SetImpingingParticle(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses(), testParticle::testMomentum(), and testParticle::testProperties().
|
inline |
Particle weight (assigned by shower generator thinning algorithms)
Definition at line 126 of file Particle.h.
References fWeight.
Referenced by io::AiresShowerFile::Read(), RPCSimulatorLX::RPCSimulator::Run(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), FastTankSimulatorOG::FastTankSimulator::SimulateComptonScattering(), FastTankSimulatorOG::FastTankSimulator::SimulatePairProduction(), FastTankSimulatorOG::FastTankSimulator::SimulatePhotons(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inline |
Definition at line 147 of file Particle.h.
References fParent.
Referenced by cevt::StationSimData::AddParticle(), cevt::Station::GetSignalComponent(), and io::Particle_ROOT::Particle_ROOT().
|
inline |
Definition at line 152 of file Particle.h.
References fProductionPoint.
Referenced by io::Particle_ROOT::Particle_ROOT(), and G4StationSimulatorOG::G4StationSteppingAction::UserSteppingAction().
|
static |
Calculate particle type code for a given (A, Z)
Definition at line 74 of file Particle.cc.
References utl::NucleusProperties::TypeCode().
|
inline |
Definition at line 115 of file Particle.h.
References fDirection.
Referenced by MdShowerRegeneratorAG::MdShowerRegenerator::Run().
|
inline |
Set kinetic energy of the particle.
Definition at line 133 of file Particle.h.
References fKineticEnergy.
void Particle::SetMomentum | ( | const utl::Vector & | momentum | ) |
Definition at line 65 of file Particle.cc.
References fDirection, fKineticEnergy, utl::Vector::GetMag2(), GetMass(), utl::m, utl::Normalized(), utl::Sqr(), and sqrt().
Referenced by Particle(), and testParticle::testMomentum().
|
inline |
Definition at line 150 of file Particle.h.
References fParent, and Particle().
Referenced by io::CorsikaShowerFileParticleIterator::GetOneParticle(), io::Particle_ROOT::operator>>(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), GroundPropagatorAG::GroundPropagator::Run(), EdepSimulatorAG::EdepSimulator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), G4XTankSimulatorAG::G4XTankSimulator::RunFast(), G4XTankSimulatorAG::G4XTankSimulator::RunFull(), and G4StationSimulatorOG::G4StationSteppingAction::UserSteppingAction().
|
inline |
Definition at line 111 of file Particle.h.
References fPosition.
Referenced by ParticleInjectorNEU::ParticleInjector::InjectParticles(), MdShowerRegeneratorAG::MdShowerRegenerator::Run(), UnderGrdInjectorAG::UnderGrdInjector::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedDirectInjectorOG::CachedDirectInjector::Run(), and CachedShowerRegeneratorOG::CachedShowerRegenerator::Run().
|
inline |
Definition at line 154 of file Particle.h.
References fProductionPoint.
Referenced by io::CorsikaShowerFileParticleIterator::GetOneParticle(), io::Particle_ROOT::operator>>(), and G4StationSimulatorOG::G4StationSteppingAction::UserSteppingAction().
|
inline |
Definition at line 123 of file Particle.h.
References fTime.
Referenced by MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), CachedDirectInjectorOG::CachedDirectInjector::Run(), and CachedShowerRegeneratorOG::CachedShowerRegenerator::Run().
|
inline |
Set Total (relativistic) energy.
Definition at line 139 of file Particle.h.
References fKineticEnergy, and GetMass().
|
inline |
Definition at line 127 of file Particle.h.
References fWeight.
Referenced by MdShowerRegeneratorAG::MdShowerRegenerator::Run(), CachedXShowerRegeneratorAG::CachedXShowerRegenerator::Run(), CachedShowerRegeneratorASCII::CachedShowerRegenerator::Run(), and CachedShowerRegeneratorOG::CachedShowerRegenerator::Run().
|
private |
Definition at line 166 of file Particle.h.
Referenced by GetDirection(), GetMomentum(), SetDirection(), and SetMomentum().
|
private |
Definition at line 170 of file Particle.h.
Referenced by GetKineticEnergy(), GetMomentum(), GetTotalEnergy(), SetKineticEnergy(), SetMomentum(), and SetTotalEnergy().
|
private |
Definition at line 158 of file Particle.h.
Referenced by GetParent(), HasParent(), and SetParent().
|
private |
Definition at line 165 of file Particle.h.
Referenced by GetPosition(), and SetPosition().
|
private |
Definition at line 159 of file Particle.h.
Referenced by GetProductionPoint(), HasProductionPoint(), and SetProductionPoint().
|
private |
Definition at line 162 of file Particle.h.
Definition at line 163 of file Particle.h.
Referenced by GetSource().
|
private |
Definition at line 168 of file Particle.h.
|
private |
Definition at line 169 of file Particle.h.
Referenced by GetWeight(), and SetWeight().