gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
particle_macros.hpp
Go to the documentation of this file.
1 // GAMBIT: Global and Modular BSM Inference Tool
2 // *********************************************
16 
17 #ifndef __particle_macros_hpp__
18 #define __particle_macros_hpp__
19 
21 
22 #include <boost/preprocessor/tuple/to_seq.hpp>
23 #include <boost/preprocessor/seq/for_each_i.hpp>
24 #include <boost/preprocessor/arithmetic/add.hpp>
25 
26 #define add_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR) particles->add(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);
27 #define add_SM_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR) particles->add_SM(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR );
28 #define add_generic_particle(LONGNAME, INTPAIR, SPINX2, CHARGEX3, COLOR) particles->add_generic(LONGNAME, std::pair<int, int> INTPAIR, SPINX2, CHARGEX3, COLOR);
29 #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));
30 #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));
31 #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))
32 #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))
33 
34 #endif //__particle_macros_hpp__
Copies of boost headers that are required but that may be too recent to be present on the user&#39;s mach...