1#ifndef LHABLOCKPROTOTYPE_H
2#define LHABLOCKPROTOTYPE_H
5#include <unordered_set>
36 std::size_t
h1 = std::hash<BlockName>{}(p.blockName);
37 std::size_t h2 = std::hash<size_t>{}(p.itemCount);
38 std::size_t
h3 = std::hash<size_t>{}(p.valueIdx);
39 std::size_t
h4 = std::hash<int>{}(p.scaleIdx);
40 std::size_t h5 = std::hash<int>{}(p.rgIdx);
41 std::size_t h6 = std::hash<bool>{}(p.globalScale);
43 return h1 ^ (h2 << 1) ^ (
h3 << 2) ^ (
h4 << 3) ^ (h5 << 4) ^ (h6 << 5);
89const std::unordered_set<Prototype>
SLHA_BLOCKS = {
MINPAR,
EXTPAR,
THDM,
MGCKM,
MGUSER,
NMIX,
NMNMIX,
UMIX,
VMIX,
STOPMIX,
SBOTMIX,
STAUMIX,
ALPHA,
HMIX,
MSOFT,
AU,
AD,
AE,
YU,
YD,
YE,
NMHMIX,
NMAMIX,
NMSSMRUN};
109const std::unordered_set<Prototype>
FLHA_BLOCKS = {
FCINFO,
FMODSEL,
FMASS,
FLIFE,
FCONST,
FCONSTRATIO,
FBAG,
FWCOEF,
IMFWCOEF,
FOBS,
FOBSERR,
FOBSSM,
FDIPOLE,
FPARAM};
Representation of SLHA / LHA block names with support for aliases.
const std::unordered_set< Prototype > SLHA_BLOCKS
const Prototype FCONSTRATIO
const std::unordered_set< Prototype > FLHA_BLOCKS
const std::unordered_set< Prototype > LHA_BLOCKS
Block identifier with alias support.
Hash specialization for SymbolId<Tag>.
double h4(double x, double y)
Wilson special function h4 depending on x and y.
double h1(double x)
Wilson special function h1 depending on x.
double h3(double x)
Wilson special function h3 depending on x.
Represents the structure of an LHA block, specifying columns for values, scales, and renormalization ...
bool operator==(const Prototype &other) const
std::size_t operator()(const Prototype &p) const noexcept