gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
SMHiggsSimpleSpec.hpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
18 
19 #ifndef __SMHiggsSimpleSpec_hpp__
20 #define __SMHiggsSimpleSpec_hpp__
21 
22 #include "gambit/Elements/spec.hpp"
24 
25 namespace Gambit
26 {
27  namespace SpecBit
28  {
31  struct SMHiggsModel
32  {
33  double HiggsPoleMass;
34  double HiggsVEV;
35 
36  double get_HiggsPoleMass() const { return HiggsPoleMass; }
37  double get_HiggsVEV() const { return HiggsVEV; }
38  double get_HiggsPoleMass_1srd_high() const { return 0; }
39  double get_HiggsPoleMass_1srd_low() const { return 0; }
40  };
41 
42  class SMHiggsSimpleSpec;
43  }
44 
46  template <>
47  struct SpecTraits<SpecBit::SMHiggsSimpleSpec>
48  {
49  static std::string name() { return "SMHiggsSimpleSpec"; }
52  typedef DummyInput Input; // DummyInput is just an empty struct
53  };
54 
55  namespace SpecBit
56  {
58  class SMHiggsSimpleSpec : public Spec<SMHiggsSimpleSpec>
59  {
60  private:
62  Model model;
63 
66 
67  public:
69  SMHiggsSimpleSpec(const Model& m)
70  : model(m)
71  , input()
72  {}
73 
74  // Functions to interface Model and Input objects with the base 'Spec' class
75  Model& get_Model() { return model; }
76  Input& get_Input() { return input; }
77  const Model& get_Model() const { return model; }
78  const Input& get_Input() const { return input; }
79 
83 
86  {
87  GetterMaps map_collection;
88 
89  map_collection[Par::mass1].map0["vev"] = &Model::get_HiggsVEV;
90  map_collection[Par::Pole_Mass].map0["h0_1"] = &Model::get_HiggsPoleMass;
91  map_collection[Par::Pole_Mass_1srd_high].map0["h0_1"] = &Model::get_HiggsPoleMass_1srd_high;
92  map_collection[Par::Pole_Mass_1srd_low].map0["h0_1"] = &Model::get_HiggsPoleMass_1srd_low;
93 
94 
95  return map_collection;
96  }
97 
98  };
99 
100 
101  } // end SpecBit namespace
102 } // end Gambit namespace
103 
104 #endif
Need to forward declare Spec class.
Definition: spec_head.hpp:39
SubSpectrum wrapper class for the SM Higgs sector.
Register the definitions of SubSpectrum contents here.
static GetterMaps fill_getter_maps()
Map fillers Used to initialise maps in the RunparDer and PhysDer classes (specialisations created and...
SpecTraits< D >::Input Input
Definition: spec_head.hpp:107
Some member function definitions from classes in spec_head.hpp.
SMHiggsSimpleSpec(const Model &m)
Constructor.
Model model
Store the struct containing the parameters plus get/set functions.
Input input
Just a placeholder required by the base class; this wrapper doesn&#39;t use it.
Forward declare base traits class which communicates Model and Input typedefs from the wrapper class ...
Definition: spec_head.hpp:59
Simple container "model object" for the SM Higgs sector variables.
TODO: see if we can use this one:
Definition: Analysis.hpp:33
std::map< Par::Tags, MapCollection< MTget > > GetterMaps
Will need a map of map collections for both the getters and setters, containing the map collections f...
Definition: spec_head.hpp:248