a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Meson.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef MESON_H
9 #define MESON_H
10 
11 class QCD;
12 
13 #include <stdexcept>
14 #include <vector>
15 #include <map>
16 #include <functional>
17 #include "Particle.h"
18 #include "boost/lexical_cast.hpp"
19 
315 class Meson : public Particle {
316 public:
317 
321  Meson();
322 
332  Meson(double mass, double lifetime, double decayconst, double lambdaM, double gegenalpha1, double gegenalpha2);
333 
337  virtual ~Meson();
338 
339  void ModelParameterMapInsert(std::map< std::string, std::reference_wrapper<const double> >& ModelParamMap);
340 
341  std::vector<std::string> parameterList(std::string name_i);
342 
343  bool setParameter(std::string name_i, double value);
344 
345  void initializeParameters();
346 
351  double getLifetime() const
352  {
353  return lifetime;
354  }
355 
360  const double& getDecayconst() const
361  {
362  return decayconst;
363  }
364 
370  {
371  this->decayconst = decayconst;
372  }
373 
378  const double& getDecayconst_p() const
379  {
380  return decayconst_p;
381  }
382 
387  double computeWidth() const;
388 
394  const double& getGegenalpha(int i) const
395  {
396  if (i >= 0 && i < 2)
397  return gegenalpha[i];
398  else
399  throw std::runtime_error("Meson::getGegenalpha(" + boost::lexical_cast<std::string>(i) + "): index out of range");
400  }
401 
402  const double& getLambdaM() const
403  {
404  return lambdaM;
405  }
406 
408  this->Dgamma_gamma = Dgamma_gamma;
409  }
410 
411  const double& getDgamma_gamma() const
412  {
413  return Dgamma_gamma;
414  }
415 
420  std::string getName() const
421  {
422  return name;
423  }
424 
429  void setName(std::string name_i)
430  {
431  this->name = name_i;
432  }
433 
434  double getFBsoFBd() const
435  {
436  return FBsoFBd;
437  }
438 
439 private:
440  double decayconst;
441  double decayconst_p;
442  double lifetime;
443  double gegenalpha[2];
444  double lambdaM;
445  double Dgamma_gamma;
446  double FBsoFBd;
447 };
448 
449 #endif /* MESON_H */
450 
Meson::getName
std::string getName() const
A get method to get the name of the meson.
Definition: Meson.h:420
Meson
A class for mesons.
Definition: Meson.h:315
QCD
A class for parameters related to QCD, hadrons and quarks.
Definition: QCD.h:304
Particle
A class for particles.
Definition: Particle.h:26
Meson::setName
void setName(std::string name_i)
A set method to set the name of the meson.
Definition: Meson.h:429
Meson::getFBsoFBd
double getFBsoFBd() const
Definition: Meson.h:434
Meson::decayconst
double decayconst
The decay constant of the meson.
Definition: Meson.h:440
Meson::decayconst_p
double decayconst_p
The perpendicular decay constant of a vector meson.
Definition: Meson.h:441
Meson::FBsoFBd
double FBsoFBd
Definition: Meson.h:446
Meson::setDecayconst
void setDecayconst(double decayconst)
A set method for the decay constant of the meson.
Definition: Meson.h:369
Meson::getLambdaM
const double & getLambdaM() const
Definition: Meson.h:402
Meson::computeWidth
double computeWidth() const
A method to compute the width of the meson from its lifetime.
Definition: Meson.cpp:479
Particle::name
std::string name
The particle name.
Definition: Particle.h:171
Meson::gegenalpha
double gegenalpha[2]
Gegenbauer moments.
Definition: Meson.h:443
Particle.h
Meson::getDecayconst
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:360
Meson::getDecayconst_p
const double & getDecayconst_p() const
A get method for the perpendicular decay constant of a vector meson.
Definition: Meson.h:378
Meson::getLifetime
double getLifetime() const
A get method for the lifetime of the meson.
Definition: Meson.h:351
Meson::~Meson
virtual ~Meson()
The default destructor.
Definition: Meson.cpp:33
Meson::setDgamma_gamma
void setDgamma_gamma(double Dgamma_gamma)
Definition: Meson.h:407
Meson::setParameter
bool setParameter(std::string name_i, double value)
Definition: Meson.cpp:180
Meson::parameterList
std::vector< std::string > parameterList(std::string name_i)
Definition: Meson.cpp:158
Meson::lifetime
double lifetime
The lifetime of the meson.
Definition: Meson.h:442
Meson::Meson
Meson()
The default constructor.
Definition: Meson.cpp:22
Meson::getDgamma_gamma
const double & getDgamma_gamma() const
Definition: Meson.h:411
Particle::mass
double mass
The particle mass in GeV.
Definition: Particle.h:166
Meson::Dgamma_gamma
double Dgamma_gamma
Dgamma/gamma for neutral mesons.
Definition: Meson.h:445
Meson::getGegenalpha
const double & getGegenalpha(int i) const
A get method to get the Gegenbaur coefficient.
Definition: Meson.h:394
Meson::ModelParameterMapInsert
void ModelParameterMapInsert(std::map< std::string, std::reference_wrapper< const double > > &ModelParamMap)
Definition: Meson.cpp:36
Meson::lambdaM
double lambdaM
First moment of LCDA.
Definition: Meson.h:444
Meson::initializeParameters
void initializeParameters()