cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator

A singleton holding all physics constants associated to particles. More...

#include <include/CepGen/Physics/PDG.h>

Classes

class  Id
 A class-in-the-middle PDG identifier for printout operations. More...
 

Public Types

enum  PdgIdEnum : pdgid_t {
  invalid = 0 , down = 1 , up = 2 , electron = 11 ,
  muon = 13 , tau = 15 , gluon = 21 , photon = 22 ,
  W = 24 , pomeron = 990 , reggeon = 110 , piZero = 111 ,
  piPlus = 211 , eta = 221 , phi1680 = 100333 , neutron = 2112 ,
  proton = 2212 , diffractiveProton = 9902210
}
 PDG ids of all known particles. More...
 

Public Member Functions

 PDG (const PDG &)=delete
 
void operator= (const PDG &)=delete
 
 ~PDG ()=default
 Default destructor.
 
void define (const ParticleProperties &)
 Add a new particle definition to the library.
 
pdgids_t particles () const
 All particles ids in this library.
 
void dump (std::ostream *=nullptr) const
 Dump all particles in this library.
 
size_t size () const
 Number of particles defined in this library.
 
bool has (spdgid_t) const
 Is the particle defined for a given PDG id.
 
const ParticlePropertiesoperator() (spdgid_t) const
 All physical properties for one particle.
 
ParticlePropertiesoperator[] (spdgid_t id)
 
const std::string & name (spdgid_t) const
 Accessor for particle properties.
 
double colours (spdgid_t) const
 Colour factor for this particle.
 
double mass (spdgid_t) const
 Particle mass (in GeV)
 
double width (spdgid_t) const
 Resonance width (in GeV)
 
double charge (spdgid_t) const
 Electric charge (in \(e\)) for this particle.
 
std::vector< double > charges (spdgid_t) const
 Electric charges (in \(e\)) for this particle and anti-particles.
 

Static Public Member Functions

static PDGget ()
 Retrieve a unique instance of this particles info collection.
 

Detailed Description

Definition at line 28 of file PDG.h.

Member Enumeration Documentation

◆ PdgIdEnum

Note
From [1] :

‍The Monte Carlo particle numbering scheme [...] is intended to facilitate interfacing between event generators, detector simulators, and analysis packages used in particle physics.

Enumerator
invalid 
down 
up 
electron 
muon 
tau 
gluon 
photon 
pomeron 
reggeon 
piZero 
piPlus 
eta 
phi1680 
neutron 
proton 
diffractiveProton 

Definition at line 33 of file PDG.h.

Constructor & Destructor Documentation

◆ PDG()

PDG ( const PDG & )
delete

◆ ~PDG()

~PDG ( )
default

Member Function Documentation

◆ charge()

double charge ( spdgid_t ) const

◆ charges()

std::vector< double > charges ( spdgid_t ) const

◆ colours()

double colours ( spdgid_t ) const

◆ define()

void define ( const ParticleProperties & )

◆ dump()

void dump ( std::ostream * = nullptr) const

◆ get()

static PDG & get ( )
static

◆ has()

bool has ( spdgid_t ) const

◆ mass()

double mass ( spdgid_t ) const

◆ name()

const std::string & name ( spdgid_t ) const

Human-readable name for this particle

◆ operator()()

const ParticleProperties & operator() ( spdgid_t ) const

◆ operator=()

void operator= ( const PDG & )
delete

◆ operator[]()

ParticleProperties & operator[] ( spdgid_t id)

◆ particles()

pdgids_t particles ( ) const

◆ size()

size_t size ( ) const

◆ width()

double width ( spdgid_t ) const