gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
particle_macros.hpp File Reference

Macros for defining new particles. More...

#include "gambit/Utils/boost_fallbacks.hpp"
#include <boost/preprocessor/tuple/to_seq.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/arithmetic/add.hpp>
Include dependency graph for particle_macros.hpp:

Go to the source code of this file.

Macros

#define add_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR)   particles->add(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);
 
#define add_SM_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR)   particles->add_SM(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR );
 
#define add_generic_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR)   particles->add_generic(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);
 
#define ADD_PARTICLE_I(r, DATA, I, ELEM)   particles->add_with_short_pair(BOOST_PP_TUPLE_ELEM(4, 0, DATA) "_" STRINGIFY(BOOST_PP_ADD(I,1)), std::pair<int, int> ELEM, std::pair<str, int> (BOOST_PP_TUPLE_ELEM(4, 0, DATA),BOOST_PP_ADD(I,1)), BOOST_PP_TUPLE_ELEM(4, 1, DATA), BOOST_PP_TUPLE_ELEM(4, 2, DATA), BOOST_PP_TUPLE_ELEM(4, 3, DATA));
 
#define ADD_SM_PARTICLE_I(r, DATA, I, ELEM)   particles->add_SM_with_short_pair(BOOST_PP_TUPLE_ELEM(4, 0, DATA) "_" STRINGIFY(BOOST_PP_ADD(I,1)), std::pair<int, int> ELEM, std::pair<str, int> (BOOST_PP_TUPLE_ELEM(4, 0, DATA),BOOST_PP_ADD(I,1)), BOOST_PP_TUPLE_ELEM(4, 1, DATA), BOOST_PP_TUPLE_ELEM(4, 2, DATA), BOOST_PP_TUPLE_ELEM(4, 3, DATA));
 
#define add_particle_set(SHORTNAME, __TUP, SPINX2, CHARGEX3, COLOR)   BOOST_PP_SEQ_FOR_EACH_I(ADD_PARTICLE_I, (SHORTNAME, SPINX2, CHARGEX3, COLOR), BOOST_PP_TUPLE_TO_SEQ(__TUP))
 
#define add_SM_particle_set(SHORTNAME, __TUP, SPINX2, CHARGEX3, COLOR)   BOOST_PP_SEQ_FOR_EACH_I(ADD_SM_PARTICLE_I, (SHORTNAME, SPINX2, CHARGEX3, COLOR), BOOST_PP_TUPLE_TO_SEQ(__TUP))
 

Detailed Description

Macros for defining new particles.


Authors (add name and date if you modify):

Author
Pat Scott (p.sco.nosp@m.tt@i.nosp@m.mperi.nosp@m.al.a.nosp@m.c.uk)
Date
2015 Jan

Definition in file particle_macros.hpp.

Macro Definition Documentation

◆ add_generic_particle

#define add_generic_particle (   LONGNAME,
  INTPAIR,
  SPINX2,
  CHARGEX3,
  COLOR 
)    particles->add_generic(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);

Definition at line 28 of file particle_macros.hpp.

◆ add_particle

#define add_particle (   LONGNAME,
  INTPAIR,
  SPINX2,
  CHARGEX3,
  COLOR 
)    particles->add(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);

Definition at line 26 of file particle_macros.hpp.

◆ ADD_PARTICLE_I

#define ADD_PARTICLE_I (   r,
  DATA,
  I,
  ELEM 
)    particles->add_with_short_pair(BOOST_PP_TUPLE_ELEM(4, 0, DATA) "_" STRINGIFY(BOOST_PP_ADD(I,1)), std::pair<int, int> ELEM, std::pair<str, int> (BOOST_PP_TUPLE_ELEM(4, 0, DATA),BOOST_PP_ADD(I,1)), BOOST_PP_TUPLE_ELEM(4, 1, DATA), BOOST_PP_TUPLE_ELEM(4, 2, DATA), BOOST_PP_TUPLE_ELEM(4, 3, DATA));

Definition at line 29 of file particle_macros.hpp.

◆ add_particle_set

#define add_particle_set (   SHORTNAME,
  __TUP,
  SPINX2,
  CHARGEX3,
  COLOR 
)    BOOST_PP_SEQ_FOR_EACH_I(ADD_PARTICLE_I, (SHORTNAME, SPINX2, CHARGEX3, COLOR), BOOST_PP_TUPLE_TO_SEQ(__TUP))

Definition at line 31 of file particle_macros.hpp.

◆ add_SM_particle

#define add_SM_particle (   LONGNAME,
  INTPAIR,
  SPINX2,
  CHARGEX3,
  COLOR 
)    particles->add_SM(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR );

Definition at line 27 of file particle_macros.hpp.

◆ ADD_SM_PARTICLE_I

#define ADD_SM_PARTICLE_I (   r,
  DATA,
  I,
  ELEM 
)    particles->add_SM_with_short_pair(BOOST_PP_TUPLE_ELEM(4, 0, DATA) "_" STRINGIFY(BOOST_PP_ADD(I,1)), std::pair<int, int> ELEM, std::pair<str, int> (BOOST_PP_TUPLE_ELEM(4, 0, DATA),BOOST_PP_ADD(I,1)), BOOST_PP_TUPLE_ELEM(4, 1, DATA), BOOST_PP_TUPLE_ELEM(4, 2, DATA), BOOST_PP_TUPLE_ELEM(4, 3, DATA));

Definition at line 30 of file particle_macros.hpp.

◆ add_SM_particle_set

#define add_SM_particle_set (   SHORTNAME,
  __TUP,
  SPINX2,
  CHARGEX3,
  COLOR 
)    BOOST_PP_SEQ_FOR_EACH_I(ADD_SM_PARTICLE_I, (SHORTNAME, SPINX2, CHARGEX3, COLOR), BOOST_PP_TUPLE_TO_SEQ(__TUP))

Definition at line 32 of file particle_macros.hpp.