46 return p1 == p2 ? false : 0 == p1 ? true : 0 == p2 ? false : ( *p1 < *p2 );
61 const double tlife,
const double maxWidth,
const std::string& evtgen,
const int pythia );
75 const double tlife,
const double maxWidth );
141 std::ostream& fillStream( std::ostream& s )
const;
143 std::string toString()
const;
178 namespace ParticleProperties {
230 std::ostream&
printAsTable_(
const std::vector<const Gaudi::ParticleProperty*>& particles, std::ostream& stream,
286 std::string
printAsTable(
const std::vector<const Gaudi::ParticleProperty*>& particles,
355 std::ostream&
printAsTable_(
const std::vector<Gaudi::ParticleID>& particles, std::ostream& stream,
358 template <
class C_,
class A_>
359 inline std::ostream&
printAsTable_(
const std::set<Gaudi::ParticleID, C_, A_>& particles, std::ostream& stream,
361 return printAsTable_( std::vector<Gaudi::ParticleID>( particles.begin(), particles.end() ), stream, service );
372 std::string
printAsTable(
const std::vector<Gaudi::ParticleID>& particles,
375 template <
class C_,
class A_>
376 inline std::string
printAsTable(
const std::set<Gaudi::ParticleID, C_, A_>& particles,
378 return printAsTable( std::vector<Gaudi::ParticleID>( particles.begin(), particles.end() ), service );
393 template <
class C_,
class A_>
396 return printAsTable( std::vector<Gaudi::ParticleID>( particles.begin(), particles.end() ), stream, service );
410 std::ostream&
toStream(
const std::vector<const Gaudi::ParticleProperty*>& particles, std::ostream& stream );
415 const Gaudi::ParticleProperty*
abs(
const Gaudi::ParticleProperty* p );
std::ostream & operator<<(std::ostream &stream, const Gaudi::ParticleProperty &pp)
standard output operator to the stream
The abstract interface to Particle Property Service.
Holds PDG + LHCb extension particle code, following the PDG particle numbering scheme (pdg....
A trivial class to hold information about a single particle properties.
const Gaudi::ParticleID & pdgID() const
get the particle ID
bool selfcc() const
self-charge conjugated?
double charge() const
Get the particle charge.
std::string m_name
the name for the particle
double lifetime() const
Get the particle lifetime.
const std::string & evtGen() const
Get the EvtGen name.
const Gaudi::ParticleProperty * anti() const
get the pointer to the anti-particle
const Gaudi::ParticleID & particleID() const
get the particle ID
double width() const
Get the particle natural width.
double m_charge
the charge for the particle
const std::string & particle() const
Get the particle name.
const std::string & evtGenName() const
Get the EvtGen name.
friend bool operator<(const ParticleProperty &lhs, const ParticleProperty &rhs)
comparison/ordering operator ( "strict-less-by-PID&Name" )
double maxWidth() const
Get the max width deviation.
double mass() const
Get the particle mass.
Gaudi::ParticleID m_pid
the PID for the particle
const Gaudi::ParticleID & pid() const
get the particle ID
const std::string & name() const
Get the particle name.
int threeCharge() const
Three times the charge (in positron charge units)
int pythia() const
Get the Pythia ID.
int pythiaID() const
Get the Pythia ID.
double m_tlife
the nominal proper lifetime for the particle
double m_mass
the nominal mass for the particle
double ctau() const
Get the particle proper lifetime in c*tau units.
int m_pythia
the ID for the particle used in Pythia generator
const Gaudi::ParticleProperty * antiParticle() const
get the pointer to the anti-particle
const Gaudi::ParticleProperty * m_anti
the pointer to the anti-particle
double m_maxWidth
The maximum width deviation.
std::string m_evtgen
the name of the particle for EvtGen program
double lifeTime() const
Get the particle lifetime.
Definition of the MsgStream class used to transmit messages.
GAUDI_API std::string printAsTable(const std::vector< const Gaudi::ParticleProperty * > &particles, const Gaudi::Interfaces::IParticlePropertySvc *service=0)
print a list of properties in a form of the table
GAUDI_API std::ostream & printAsTable_(const std::vector< const Gaudi::ParticleProperty * > &particles, std::ostream &stream, const Gaudi::Interfaces::IParticlePropertySvc *service=0)
print a list of properties in a form of the table
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Gaudi::ParticleID abs(const Gaudi::ParticleID &p)
Return the absolute value for a PID.
The comparison criteria for particle properties.
bool operator()(const ParticleProperty *p1, const ParticleProperty *p2) const