Msup.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef MSUP_H
9 #define MSUP_H
10 
11 #include <ThObservable.h>
12 
13 
14 #include "SUSY.h"
15 
24 class Msup : public ThObservable {
25 public:
26 
27  Msup(const StandardModel& SM_i, const int ind)
28  : ThObservable(SM_i), index(ind), mySUSY(static_cast<const SUSY*> (&SM_i))
29  {
30  if (mySUSY->isModelSUSY() == false)
31  throw std::runtime_error("\nERROR: The msup mass spectrum can only be computed in a SUSY model. Please check your observables list.\n");
32  };
33 
34  double computeThValue()
35  {
36  return (sqrt(mySUSY->getMsu2()(index)));
37  };
38 
39 private:
40  const int index;
41  const SUSY * mySUSY;
42 };
43 
44 #endif /* MSUP_H */
45 
bool isModelSUSY() const
Definition: Model.h:179
double computeThValue()
Definition: Msup.h:34
A class for a model prediction of an observable.
Definition: ThObservable.h:22
A model class for the Standard Model.
const int index
Definition: Msup.h:37
gslpp::vector< double > getMsu2() const
Gets the up-type squark mass squared.
Definition: SUSY.h:323
const SUSY * mySUSY
Definition: Msup.h:41
A base class for SUSY models.
Definition: SUSY.h:25
Msup(const StandardModel &SM_i, const int ind)
Definition: Msup.h:27
A class for the up-type-squark masses.
Definition: Msup.h:24
complex sqrt(const complex &z)