CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
ParticlePDG Class Reference

#include <ParticlePDG.h>

Public Member Functions

void AddChannel (DecayChannel &channel)
 
double GetBaryonNumber ()
 
double GetCharmAQNumber ()
 
double GetCharmness ()
 
double GetCharmQNumber ()
 
DecayChannelGetDecayChannel (int i)
 
double GetElectricCharge ()
 
double GetFullBranching ()
 
double GetIsospin ()
 
double GetIsospinZ ()
 
double GetLightAQNumber ()
 
double GetLightQNumber ()
 
double GetMass ()
 
char * GetName ()
 
int GetNDecayChannels ()
 
int GetPDG ()
 
double GetSpin ()
 
double GetStrangeAQNumber ()
 
double GetStrangeness ()
 
double GetStrangeQNumber ()
 
double GetWidth ()
 
 ParticlePDG ()
 
 ParticlePDG (char *name, int pdg, double mass, double width)
 
void SetCharmAQNumber (double value)
 
void SetCharmQNumber (double value)
 
void SetIsospin (double value)
 
void SetIsospinZ (double value)
 
void SetLightAQNumber (double value)
 
void SetLightQNumber (double value)
 
void SetMass (double value)
 
void SetName (char *name)
 
void SetPDG (int value)
 
void SetSpin (double value)
 
void SetStrangeAQNumber (double value)
 
void SetStrangeQNumber (double value)
 
void SetWidth (double value)
 
 ~ParticlePDG ()
 

Private Attributes

double fAntiCharmQuarkNumber
 
double fAntiLightQuarkNumber
 
double fAntiStrangeQuarkNumber
 
double fCharmQuarkNumber
 
DecayChannelfDecayChannels [kMaxDecayChannels]
 
double fIsospin
 
double fIsospinZ
 
double fLightQuarkNumber
 
double fMass
 
char fName [9]
 
int fNDecayChannels
 
int fPDG
 
double fSpin
 
double fStrangeQuarkNumber
 
double fWidth
 

Detailed Description

Definition at line 24 of file ParticlePDG.h.

Constructor & Destructor Documentation

ParticlePDG::ParticlePDG ( )

Definition at line 21 of file ParticlePDG.cc.

References mps_fire::i, kMaxDecayChannels, and kNonsensePDG.

21  {
23  fMass = -1.0;
24  fWidth = 0.0;
25  fNDecayChannels = 0;
26  for(int i=0; i<kMaxDecayChannels; i++)
27  fDecayChannels[i] = new DecayChannel();
28 }
int fNDecayChannels
Definition: ParticlePDG.h:39
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
double fWidth
Definition: ParticlePDG.h:29
const int kMaxDecayChannels
Definition: ParticlePDG.h:22
double fMass
Definition: ParticlePDG.h:28
const int kNonsensePDG
Definition: DecayChannel.h:20
ParticlePDG::ParticlePDG ( char *  name,
int  pdg,
double  mass,
double  width 
)

Definition at line 30 of file ParticlePDG.cc.

References mps_fire::i, kMaxDecayChannels, ResonanceBuilder::mass, and ApeEstimator_cff::width.

30  {
31  for(int i=0; i<9; i++)
32  if(*(name+i) != '\0') fName[i] = *(name+i);
33  else break;
34  fPDG = pdg;
35  fMass = mass;
36  fWidth = width;
37  fNDecayChannels = 0;
38  for(int i=0; i<kMaxDecayChannels; i++)
39  fDecayChannels[i] = new DecayChannel();
40 }
int fNDecayChannels
Definition: ParticlePDG.h:39
char fName[9]
Definition: ParticlePDG.h:26
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
double fWidth
Definition: ParticlePDG.h:29
const int kMaxDecayChannels
Definition: ParticlePDG.h:22
double fMass
Definition: ParticlePDG.h:28
ParticlePDG::~ParticlePDG ( )

Definition at line 42 of file ParticlePDG.cc.

References mps_fire::i, and kMaxDecayChannels.

42  {
43  for(int i=0; i<kMaxDecayChannels; i++)
44  delete fDecayChannels[i];
45 }
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
const int kMaxDecayChannels
Definition: ParticlePDG.h:22

Member Function Documentation

void ParticlePDG::AddChannel ( DecayChannel channel)

Definition at line 54 of file ParticlePDG.cc.

References DecayChannel::GetBranching(), DecayChannel::GetDaughters(), DecayChannel::GetMotherPDG(), and DecayChannel::GetNDaughters().

Referenced by DatabasePDG::LoadDecays().

54  {
55  if(channel.GetMotherPDG() != fPDG) {
56  edm::LogError("ParticlePDG") <<" AddChannel() : You try to add a channel which has a different mother PDG";
57  return;
58  }
63 }
int fNDecayChannels
Definition: ParticlePDG.h:39
int GetNDaughters()
Definition: DecayChannel.h:41
void SetMotherPDG(int value)
Definition: DecayChannel.h:35
double GetBranching()
Definition: DecayChannel.h:40
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
void SetBranching(double value)
Definition: DecayChannel.h:36
int * GetDaughters()
Definition: DecayChannel.h:42
void SetDaughters(int *values, int n)
Definition: DecayChannel.cc:48
int GetMotherPDG()
Definition: DecayChannel.h:39
double ParticlePDG::GetBaryonNumber ( )
inline
double ParticlePDG::GetCharmAQNumber ( )
inline
double ParticlePDG::GetCharmness ( )
inline
double ParticlePDG::GetCharmQNumber ( )
inline
DecayChannel* ParticlePDG::GetDecayChannel ( int  i)
inline

Definition at line 87 of file ParticlePDG.h.

References mps_fire::i.

Referenced by Decay(), and DatabasePDG::GetNAllowedChannels().

87  {
88  if(0<=i && i<fNDecayChannels)
89  return fDecayChannels[i];
90  else
91  return nullptr;
92  }
int fNDecayChannels
Definition: ParticlePDG.h:39
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
double ParticlePDG::GetElectricCharge ( )
inline
double ParticlePDG::GetFullBranching ( )

Definition at line 47 of file ParticlePDG.cc.

References mps_fire::i.

Referenced by Decay(), GetDecayTime(), and GetElectricCharge().

47  {
48  double fullBranching = 0.0;
49  for(int i=0; i<fNDecayChannels; i++)
50  fullBranching += fDecayChannels[i]->GetBranching();
51  return fullBranching;
52 }
int fNDecayChannels
Definition: ParticlePDG.h:39
DecayChannel * fDecayChannels[kMaxDecayChannels]
Definition: ParticlePDG.h:40
double ParticlePDG::GetIsospin ( )
inline

Definition at line 72 of file ParticlePDG.h.

References fIsospin.

72 {return fIsospin;}
double fIsospin
Definition: ParticlePDG.h:31
double ParticlePDG::GetIsospinZ ( )
inline

Definition at line 73 of file ParticlePDG.h.

References fIsospinZ.

73 {return fIsospinZ;}
double fIsospinZ
Definition: ParticlePDG.h:32
double ParticlePDG::GetLightAQNumber ( )
inline

Definition at line 75 of file ParticlePDG.h.

References fAntiLightQuarkNumber.

75 {return fAntiLightQuarkNumber;}
double fAntiLightQuarkNumber
Definition: ParticlePDG.h:34
double ParticlePDG::GetLightQNumber ( )
inline

Definition at line 74 of file ParticlePDG.h.

References fLightQuarkNumber.

74 {return fLightQuarkNumber;}
double fLightQuarkNumber
Definition: ParticlePDG.h:33
double ParticlePDG::GetMass ( )
inline
char* ParticlePDG::GetName ( )
inline

Definition at line 66 of file ParticlePDG.h.

References fName.

66 {return fName;}
char fName[9]
Definition: ParticlePDG.h:26
int ParticlePDG::GetNDecayChannels ( )
inline

Definition at line 70 of file ParticlePDG.h.

References fNDecayChannels.

Referenced by Decay(), GetDecayTime(), and DatabasePDG::GetNAllowedChannels().

70 {return fNDecayChannels;}
int fNDecayChannels
Definition: ParticlePDG.h:39
int ParticlePDG::GetPDG ( )
inline
double ParticlePDG::GetSpin ( )
inline
double ParticlePDG::GetStrangeAQNumber ( )
inline

Definition at line 77 of file ParticlePDG.h.

References fAntiStrangeQuarkNumber.

double fAntiStrangeQuarkNumber
Definition: ParticlePDG.h:36
double ParticlePDG::GetStrangeness ( )
inline
double ParticlePDG::GetStrangeQNumber ( )
inline

Definition at line 76 of file ParticlePDG.h.

References fStrangeQuarkNumber.

76 {return fStrangeQuarkNumber;}
double fStrangeQuarkNumber
Definition: ParticlePDG.h:35
double ParticlePDG::GetWidth ( )
inline

Definition at line 69 of file ParticlePDG.h.

References fWidth.

Referenced by Decay(), and GetDecayTime().

69 {return fWidth;}
double fWidth
Definition: ParticlePDG.h:29
void ParticlePDG::SetCharmAQNumber ( double  value)
inline

Definition at line 64 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetCharmQNumber ( double  value)
inline

Definition at line 63 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetIsospin ( double  value)
inline

Definition at line 57 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetIsospinZ ( double  value)
inline

Definition at line 58 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetLightAQNumber ( double  value)
inline

Definition at line 60 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetLightQNumber ( double  value)
inline

Definition at line 59 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetMass ( double  value)
inline

Definition at line 54 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetName ( char *  name)
inline

Definition at line 48 of file ParticlePDG.h.

References mps_fire::i.

48  {
49  for(int i=0; i<9; i++)
50  if(*(name+i) != '\0') fName[i] = *(name+i);
51  else break;
52  }
char fName[9]
Definition: ParticlePDG.h:26
void ParticlePDG::SetPDG ( int  value)
inline

Definition at line 53 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetSpin ( double  value)
inline

Definition at line 56 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetStrangeAQNumber ( double  value)
inline

Definition at line 62 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetStrangeQNumber ( double  value)
inline

Definition at line 61 of file ParticlePDG.h.

References relativeConstraints::value.

void ParticlePDG::SetWidth ( double  value)
inline

Definition at line 55 of file ParticlePDG.h.

References relativeConstraints::value.

Member Data Documentation

double ParticlePDG::fAntiCharmQuarkNumber
private

Definition at line 38 of file ParticlePDG.h.

Referenced by GetCharmAQNumber().

double ParticlePDG::fAntiLightQuarkNumber
private

Definition at line 34 of file ParticlePDG.h.

Referenced by GetLightAQNumber().

double ParticlePDG::fAntiStrangeQuarkNumber
private

Definition at line 36 of file ParticlePDG.h.

Referenced by GetStrangeAQNumber().

double ParticlePDG::fCharmQuarkNumber
private

Definition at line 37 of file ParticlePDG.h.

Referenced by GetCharmQNumber().

DecayChannel* ParticlePDG::fDecayChannels[kMaxDecayChannels]
private

Definition at line 40 of file ParticlePDG.h.

double ParticlePDG::fIsospin
private

Definition at line 31 of file ParticlePDG.h.

Referenced by GetIsospin().

double ParticlePDG::fIsospinZ
private

Definition at line 32 of file ParticlePDG.h.

Referenced by GetIsospinZ().

double ParticlePDG::fLightQuarkNumber
private

Definition at line 33 of file ParticlePDG.h.

Referenced by GetLightQNumber().

double ParticlePDG::fMass
private

Definition at line 28 of file ParticlePDG.h.

Referenced by GetMass().

char ParticlePDG::fName[9]
private

Definition at line 26 of file ParticlePDG.h.

Referenced by GetName().

int ParticlePDG::fNDecayChannels
private

Definition at line 39 of file ParticlePDG.h.

Referenced by GetNDecayChannels().

int ParticlePDG::fPDG
private

Definition at line 27 of file ParticlePDG.h.

Referenced by GetPDG().

double ParticlePDG::fSpin
private

Definition at line 30 of file ParticlePDG.h.

Referenced by GetSpin().

double ParticlePDG::fStrangeQuarkNumber
private

Definition at line 35 of file ParticlePDG.h.

Referenced by GetStrangeQNumber().

double ParticlePDG::fWidth
private

Definition at line 29 of file ParticlePDG.h.

Referenced by GetWidth().