Bayeux  3.4.1
Core Foundation library for SuperNEMO
genbb_macros.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date : 2012-04-24
4  * Last modified : 2016-02-25
5  */
6 
7 /* \brief Macros to automatically generate some parts of the particle generator class interface.
8  *
9  */
10 
11 #ifndef GENBB_GENBB_MACROS_H
12 #define GENBB_GENBB_MACROS_H 1
13 
14 // This project:
15 #include <genbb_help/i_genbb.h>
17 
18 /* Macros for interface/implementation of static creator methods in particle generator classes */
19 
22 #define GENBB_PG_REGISTRATION_INTERFACE(GENBB_CLASS_NAME) \
23  private: \
24  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE (::genbb::i_genbb,GENBB_CLASS_NAME) \
25 
26 
27 #define GENBB_PG_REGISTRATION_IMPLEMENT(GENBB_CLASS_NAME,GENBB_ID) \
28  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION (::genbb::i_genbb,GENBB_CLASS_NAME,GENBB_ID) \
29 
30 
31 /* Macros for interface/implementation of static creator methods in decay driver classes */
32 
35 #define GENBB_BDD_REGISTRATION_INTERFACE(GENBB_CLASS_NAME) \
36  private: \
37  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE (::genbb::base_decay_driver,GENBB_CLASS_NAME) \
38 
39 
40 #define GENBB_BDD_REGISTRATION_IMPLEMENT(GENBB_CLASS_NAME,GENBB_ID) \
41  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION (::genbb::base_decay_driver,GENBB_CLASS_NAME,GENBB_ID) \
42 
43 
44 /* Macros for interface/implementation of static creator methods in Lorentz Boost generator classes */
45 
48 #define GENBB_LBG_REGISTRATION_INTERFACE(GENBB_CLASS_NAME) \
49  private: \
50  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE (::genbb::i_lorentz_boost_generator,GENBB_CLASS_NAME) \
51 
52 
53 #define GENBB_LBG_REGISTRATION_IMPLEMENT(GENBB_CLASS_NAME,GENBB_ID) \
54  DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION (::genbb::i_lorentz_boost_generator,GENBB_CLASS_NAME,GENBB_ID) \
55 
56 
57 #endif // GENBB_GENBB_MACROS_H
58 
59 // Local Variables: --
60 // mode: c++ --
61 // End: --