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
11class 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
315class Meson : public Particle {
316public:
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
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
439private:
440 double decayconst;
442 double lifetime;
443 double gegenalpha[2];
444 double lambdaM;
446 double FBsoFBd;
447};
448
449#endif /* MESON_H */
450
A class for mesons.
Definition: Meson.h:315
Meson()
The default constructor.
Definition: Meson.cpp:22
const double & getLambdaM() const
Definition: Meson.h:402
double Dgamma_gamma
Dgamma/gamma for neutral mesons.
Definition: Meson.h:445
const double & getDecayconst_p() const
A get method for the perpendicular decay constant of a vector meson.
Definition: Meson.h:378
virtual ~Meson()
The default destructor.
Definition: Meson.cpp:33
void setName(std::string name_i)
A set method to set the name of the meson.
Definition: Meson.h:429
std::string getName() const
A get method to get the name of the meson.
Definition: Meson.h:420
const double & getDgamma_gamma() const
Definition: Meson.h:411
double computeWidth() const
A method to compute the width of the meson from its lifetime.
Definition: Meson.cpp:521
void initializeParameters()
double lambdaM
First moment of LCDA.
Definition: Meson.h:444
double gegenalpha[2]
Gegenbauer moments.
Definition: Meson.h:443
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:360
void setDecayconst(double decayconst)
A set method for the decay constant of the meson.
Definition: Meson.h:369
bool setParameter(std::string name_i, double value)
Definition: Meson.cpp:194
std::vector< std::string > parameterList(std::string name_i)
Definition: Meson.cpp:170
double getFBsoFBd() const
Definition: Meson.h:434
const double & getGegenalpha(int i) const
A get method to get the Gegenbaur coefficient.
Definition: Meson.h:394
void ModelParameterMapInsert(std::map< std::string, std::reference_wrapper< const double > > &ModelParamMap)
Definition: Meson.cpp:36
double decayconst_p
The perpendicular decay constant of a vector meson.
Definition: Meson.h:441
double decayconst
The decay constant of the meson.
Definition: Meson.h:440
void setDgamma_gamma(double Dgamma_gamma)
Definition: Meson.h:407
double FBsoFBd
Definition: Meson.h:446
double getLifetime() const
A get method for the lifetime of the meson.
Definition: Meson.h:351
double lifetime
The lifetime of the meson.
Definition: Meson.h:442
A class for particles.
Definition: Particle.h:26
std::string name
The particle name.
Definition: Particle.h:171
double mass
The particle mass in GeV.
Definition: Particle.h:166
A class for parameters related to QCD, hadrons and quarks.
Definition: QCD.h:304