Mslepton.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef MSLEPTON_H
9 #define MSLEPTON_H
10 
11 #include <ThObservable.h>
12 
13 
14 #include "SUSY.h"
15 
24 class Mslepton : public ThObservable {
25 public:
26 
27  Mslepton(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 mslepton 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->getMse2()(index)));
37  };
38 
39 private:
40  const int index;
41  const SUSY * mySUSY;
42 };
43 
44 #endif /* MSLEPTON_H */
bool isModelSUSY() const
Definition: Model.h:179
double computeThValue()
Definition: Mslepton.h:34
A class for the charged slepton masses.
Definition: Mslepton.h:24
A class for a model prediction of an observable.
Definition: ThObservable.h:22
A model class for the Standard Model.
gslpp::vector< double > getMse2() const
Gets the charged slepton mass squared.
Definition: SUSY.h:424
const int index
Definition: Mslepton.h:37
Mslepton(const StandardModel &SM_i, const int ind)
Definition: Mslepton.h:27
const SUSY * mySUSY
Definition: Mslepton.h:41
A base class for SUSY models.
Definition: SUSY.h:25
complex sqrt(const complex &z)