cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.3
A generic central exclusive processes event generator
Loading...
Searching...
No Matches

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

#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 [5] :

‍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  id) const

Definition at line 98 of file PDG.cpp.

◆ charges()

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

Definition at line 100 of file PDG.cpp.

◆ colours()

double colours ( spdgid_t  id) const

Definition at line 88 of file PDG.cpp.

◆ define()

void define ( const ParticleProperties props)

Definition at line 60 of file PDG.cpp.

◆ dump()

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

Definition at line 109 of file PDG.cpp.

◆ get()

PDG & get ( )
static

Definition at line 41 of file PDG.cpp.

◆ has()

bool has ( spdgid_t  id) const

Definition at line 46 of file PDG.cpp.

◆ mass()

double mass ( spdgid_t  id) const

Definition at line 90 of file PDG.cpp.

◆ name()

const std::string & name ( spdgid_t  id) const

Human-readable name for this particle

Definition at line 81 of file PDG.cpp.

◆ operator()()

const ParticleProperties & operator() ( spdgid_t  id) const

Definition at line 48 of file PDG.cpp.

◆ operator=()

void operator= ( const PDG )
delete

◆ operator[]()

ParticleProperties & operator[] ( spdgid_t  id)

Definition at line 58 of file PDG.cpp.

◆ particles()

pdgids_t particles ( ) const

Definition at line 74 of file PDG.cpp.

◆ size()

size_t size ( ) const

Definition at line 107 of file PDG.cpp.

◆ width()

double width ( spdgid_t  id) const

Definition at line 96 of file PDG.cpp.