|
Laura++
v1r1p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
|
Go to the documentation of this file.
20 #include "TDatabasePDG.h"
32 theDatabase_( new TDatabasePDG() ),
44 delete iter->second; iter->second = 0;
90 TParticlePDG* part(0);
91 TParticlePDG* antipart(0);
96 part = theDatabase_->AddParticle( "deuteron", "deuteron", 1.8756134, kTRUE, 0.0, 3, "Nucleus", 1011);
97 antipart = theDatabase_->AddAntiParticle( "anti-deuteron", -1011);
98 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
100 part = theDatabase_->AddParticle( "tritium", "tritium", 2.80925, kTRUE, 0.0, 3, "Nucleus", 1021);
101 antipart = theDatabase_->AddAntiParticle( "anti-tritium", -1021);
102 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
104 part = theDatabase_->AddParticle( "He3", "He3", 2.80923, kTRUE, 0.0, 6, "Nucleus", 1012);
105 antipart = theDatabase_->AddAntiParticle( "anti-He3", -1012);
106 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
108 part = theDatabase_->AddParticle( "alpha", "alpha", 3.727417, kTRUE, 0.0, 3, "Nucleus", 1022);
109 antipart = theDatabase_->AddAntiParticle( "anti-alpha", -1022);
110 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
112 part = theDatabase_->AddParticle( "eta_c(2S)", "eta_c(2S)", 3.628, kTRUE, 0.0195, 0, "Meson", 20441);
114 part = theDatabase_->AddParticle( "psi(3770)", "psi(3770)", 3.7699, kTRUE, 0.0236, 0, "Meson", 40443);
116 part = theDatabase_->AddParticle( "rho(2S)0", "rho(2S)0", 1.46, kTRUE, 0.31, 0, "Meson", 30113);
117 part = theDatabase_->AddParticle( "rho(2S)+", "rho(2S)+", 1.46, kTRUE, 0.31, 3, "Meson", 30213);
118 antipart = theDatabase_->AddAntiParticle( "rho(2S)-", -30213);
119 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
121 part = theDatabase_->AddParticle( "rho(3S)0", "rho(3S)0", 1.46, kTRUE, 0.31, 0, "Meson", 40113);
122 part = theDatabase_->AddParticle( "rho(3S)+", "rho(3S)+", 1.46, kTRUE, 0.31, 3, "Meson", 40213);
123 antipart = theDatabase_->AddAntiParticle( "rho(3S)-", -40213);
124 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
126 part = theDatabase_->AddParticle( "Xsu", "Xsu", 1.6, kTRUE, 0.5, 3, "Meson", 30353);
127 antipart = theDatabase_->AddAntiParticle( "anti-Xsu", -30353);
128 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
130 part = theDatabase_->AddParticle( "Xu0", "Xu0", 1., kTRUE, 0., 0, "Special", 41);
131 part = theDatabase_->AddParticle( "Xu+", "Xu+", 1., kTRUE, 0., 3, "Special", 42);
133 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
135 part = theDatabase_->AddParticle( "Xsd", "Xsd", 1.6, kTRUE, 0.5, 0, "Meson", 30343);
136 antipart = theDatabase_->AddAntiParticle( "anti-Xsd", -30343);
137 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
139 part = theDatabase_->AddParticle( "K'*0", "K'*0", 1.414, kTRUE, 0.232, 0, "Meson", 100313);
140 antipart = theDatabase_->AddAntiParticle( "anti-K'*0", -100313);
141 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
143 part = theDatabase_->AddParticle( "K'*+", "K'*+", 1.414, kTRUE, 0.232, 3, "Meson", 100323);
144 antipart = theDatabase_->AddAntiParticle( "K'*-", -100323);
145 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
147 part = theDatabase_->AddParticle( "K''*0", "K''*0", 1.717, kTRUE, 0.322, 0, "Meson", 30313);
148 antipart = theDatabase_->AddAntiParticle( "anti-K''*0", -30313);
149 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
151 part = theDatabase_->AddParticle( "K''*+", "K''*+", 1.717, kTRUE, 0.322, 3, "Meson", 30323);
152 antipart = theDatabase_->AddAntiParticle( "K''*-", -30323);
153 part->SetAntiParticle(antipart); antipart->SetAntiParticle(part);
161 LauPDGList::iterator iter = particles_.find(theCode);
169 TParticlePDG* theTParticle = theDatabase_->GetParticle( theCode );
170 if (theTParticle == 0) {
171 cerr<< "ERROR in LauDatabasePDG::createParticle : Invalid PDG code: "<<theCode<<endl;
177 std::pair< LauPDGList::iterator, bool > insertResult = particles_.insert( std::make_pair( theCode, theParticle ) );
178 if ( ! insertResult.second ) {
179 cerr<< "ERROR in LauDatabasePDG::createParticle : Something went wrong inserting particle "<<theCode<< " into the map."<<endl;
185 TParticlePDG* theTAntiParticle = theTParticle->AntiParticle();
188 if ( theTAntiParticle == 0 || theTAntiParticle == theTParticle ) {
192 cout<< "INFO in LauDatabasePDG::createParticle : Created self-conjugate particle "<<theTParticle->GetName()<<endl;
199 Int_t conjCode = antiParticle-> code();
200 insertResult = particles_.insert( std::make_pair( conjCode, antiParticle ) );
201 if ( ! insertResult.second ) {
202 cerr<< "ERROR in LauDatabasePDG::createParticle : Something went wrong inserting anti-particle "<<conjCode<< " into the map."<<endl;
215 cout<< "INFO in LauDatabasePDG::createParticle : Created particle "<<theTParticle->GetName()<< " and its conjugate "<<theTAntiParticle->GetName()<<endl;
223 Int_t theCode = this-> pdgCode(theString);
224 if ( theCode == 0 ) {
225 cerr<< "ERROR in LauDatabasePDG::createParticle : Invalid particle string: "<<theString<<endl;
238 TParticlePDG* theParticle = theDatabase_->GetParticle(theString);
239 if (theParticle == 0) {
240 cerr<< "ERROR in LauDatabasePDG::pdgCode : Invalid particle string: "<<theString<<endl;
243 return theParticle->PdgCode();
248 TParticlePDG* theParticle = theDatabase_->GetParticle(theCode);
249 if (theParticle == 0) {
250 cerr<< "ERROR in LauDatabasePDG::pdgName : Invalid particle code: "<<theCode<<endl;
253 return theParticle->GetName();
TDatabasePDG * theDatabase_ The ROOT database.
Class for storing particle properties.
~LauDatabasePDG() Destructor.
TString pdgName(Int_t theCode) Get the associated name string for a given pdgCode.
const Bool_t debug_ Debug flag - set in constructor.
LauDatabasePDG() Constructor.
void addMissingParticles() Add particles to the ROOT database that are missing from the default setup.
Singleton class that provides access to particle property records.
File containing declaration of LauDatabasePDG class.
static LauDatabasePDG & get() Get the database instance.
File containing declaration of LauParticlePDG class.
static const LauParticlePDG * particle(Int_t code) Get particle object based on the PDG code.
static LauDatabasePDG * theInstance_ The singleton instance.
const LauParticlePDG * createParticle(Int_t theCode) Create particle in the database for a given PDG code and return the new particle. ...
LauPDGList particles_ The list of particle objects.
void setAntiParticle(const LauParticlePDG *antiPart) Set the antiparticle.
Int_t pdgCode(const TString &theString) Get the associated pdgCode for a given particle name string.
static Int_t code(const TString &string) Method to convert from a particle name string into a PDG code.
Int_t code() const The particle PDG code.
static TString string(Int_t code) Method to convert from a PDG code to a particle name string.
|