a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Mhiggs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef MHIGGS_H
9 #define MHIGGS_H
10 
11 #include <stdexcept>
12 #include <ThObservable.h>
13 #include "SUSY.h"
14 
23 class Mhiggs : public ThObservable {
24 public:
25 
26  Mhiggs(const StandardModel& SM_i, const int ind)
27  : ThObservable(SM_i), index(ind), mySUSY(static_cast<const SUSY*> (&SM_i))
28  {
29  if (mySUSY->isModelSUSY() == false)
30  throw std::runtime_error("\nERROR: The Higgs mass spectrum can only be computed in a SUSY model. Please check your observables list.\n");
31  };
32 
33  double computeThValue()
34  {
35  switch(index) {
36  case 0:
37  return mySUSY->getMHl();
38  case 1:
39  return mySUSY->getMHh();
40  case 2:
41  return mySUSY->getMHa();
42  case 3:
43  return mySUSY->getMHp();
44  default:
45  throw std::runtime_error("Mhiggs::computeThValue(): undefined index");
46  }
47  };
48 
49 private:
50  const int index;
51  const SUSY * mySUSY;
52 };
53 
54 
55 
56 #endif /* MHIGGS_H */
57 
Mhiggs
A class for the Higgs masses.
Definition: Mhiggs.h:23
ThObservable.h
Mhiggs::computeThValue
double computeThValue()
Definition: Mhiggs.h:33
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:474
Mhiggs::Mhiggs
Mhiggs(const StandardModel &SM_i, const int ind)
Definition: Mhiggs.h:26
Mhiggs::mySUSY
const SUSY * mySUSY
Definition: Mhiggs.h:51
Mhiggs::index
const int index
Definition: Mhiggs.h:47
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
SUSY.h