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
23class Mhiggs : public ThObservable {
24public:
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
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
49private:
50 const int index;
51 const SUSY * mySUSY;
52};
53
54
55
56#endif /* MHIGGS_H */
57
A class for the Higgs masses.
Definition: Mhiggs.h:23
const SUSY * mySUSY
Definition: Mhiggs.h:51
double computeThValue()
Definition: Mhiggs.h:33
Mhiggs(const StandardModel &SM_i, const int ind)
Definition: Mhiggs.h:26
const int index
Definition: Mhiggs.h:47
bool isModelSUSY() const
Definition: Model.h:182
A base class for SUSY models.
Definition: SUSY.h:33
const double getMHp() const
Gets the charged Higgs mass.
Definition: SUSY.h:262
virtual const double getMHl() const
Gets the light Higgs mass.
Definition: SUSY.h:235
const double getMHh() const
Gets the heavy Higgs mass.
Definition: SUSY.h:244
const double getMHa() const
Gets the pseudo-scalar Higgs mass.
Definition: SUSY.h:253
A model class for the Standard Model.
A class for a model prediction of an observable.
Definition: ThObservable.h:25