Meson.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef MESON_H
9 #define MESON_H
10 
11 #include <stdexcept>
12 #include "Particle.h"
13 #include "BParameter.h"
14 #include "boost/lexical_cast.hpp"
15 
26 class Meson : public Particle {
27 public:
28 
33  {
34  };
35 
45  Meson(double mass, double lifetime, double decayconst, double lambdaM, double gegenalpha1, double gegenalpha2);
46 
50  virtual ~Meson();
51 
56  double getLifetime() const
57  {
58  return lifetime;
59  }
60 
65  void setLifetime(double lifetime)
66  {
67  this->lifetime = lifetime;
68  }
69 
74  const double& getDecayconst() const
75  {
76  return decayconst;
77  }
78 
84  {
85  this->decayconst = decayconst;
86  }
87 
92  double computeWidth() const;
93 
94  const double& getGegenalpha(int i) const
95  {
96  if (i >= 0 && i < 2)
97  return gegenalpha[i];
98  else
99  throw std::runtime_error("Meson::getGegenalpha(" + boost::lexical_cast<std::string>(i) + "): index out of range");
100  }
101 
102  void setGegenalpha(int i, double gegenalpha)
103  {
104  if (i >= 0 && i < 2)
105  this->gegenalpha[i] = gegenalpha;
106  else
107  throw std::runtime_error("Meson::setGegenalpha(" + boost::lexical_cast<std::string>(i) + ", double gegenalpha): index out of range");
108  }
109 
110  const double& getLambdaM() const
111  {
112  return lambdaM;
113  }
114 
115  void setLambdaM(double lambdaM)
116  {
117  this->lambdaM = lambdaM;
118  }
119 
121  this->Dgamma_gamma = Dgamma_gamma;
122  }
123 
124  const double& getDgamma_gamma() const
125  {
126  return Dgamma_gamma;
127  }
128 
129 private:
130  double decayconst;
131  double lifetime;
132  double gegenalpha[2];
133  double lambdaM;
134  double Dgamma_gamma;
135 };
136 
137 #endif /* MESON_H */
138 
A class for particles.
Definition: Particle.h:26
double decayconst
The decay constant of the meson.
Definition: Meson.h:130
double lambdaM
First moment of LCDA.
Definition: Meson.h:133
double getLifetime() const
A get method for the lifetime of the meson.
Definition: Meson.h:56
const double & getDgamma_gamma() const
Definition: Meson.h:124
double lifetime
The lifetime of the meson.
Definition: Meson.h:131
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:74
virtual ~Meson()
The default destructor.
Definition: Meson.cpp:21
const double & getLambdaM() const
Definition: Meson.h:110
double Dgamma_gamma
Dgamma/gamma for neutral mesons.
Definition: Meson.h:134
void setLifetime(double lifetime)
A set method for the decay constant of the meson.
Definition: Meson.h:65
double computeWidth() const
A method to compute the width of the meson from its lifetime.
Definition: Meson.cpp:25
void setDgamma_gamma(double Dgamma_gamma)
Definition: Meson.h:120
double mass
The particle mass in GeV.
Definition: Particle.h:166
Meson()
The default constructor.
Definition: Meson.h:32
const double & getGegenalpha(int i) const
Definition: Meson.h:94
void setDecayconst(double decayconst)
A set method for the decay constant of the meson.
Definition: Meson.h:83
A class for mesons.
Definition: Meson.h:26
void setLambdaM(double lambdaM)
Definition: Meson.h:115
void setGegenalpha(int i, double gegenalpha)
Definition: Meson.h:102
double gegenalpha[2]
Gegenbauer moments.
Definition: Meson.h:132