LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
InputSourceMacros.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_InputSourceMacros_h
2 #define art_Framework_Core_InputSourceMacros_h
3 
5 #include "cetlib/ProvideFilePathMacro.h"
6 #include "cetlib/compiler_macros.h"
8 
9 #define DEFINE_ART_INPUT_SOURCE(klass) \
10  EXTERN_C_FUNC_DECLARE_START \
11  CET_PROVIDE_FILE_PATH() \
12  FHICL_PROVIDE_ALLOWED_CONFIGURATION(klass) \
13  std::unique_ptr<art::InputSource> make(fhicl::ParameterSet const& ps, \
14  art::InputSourceDescription& desc) \
15  { \
16  return std::make_unique<klass>(ps, desc); \
17  } \
18  EXTERN_C_FUNC_DECLARE_END
19 
20 #endif /* art_Framework_Core_InputSourceMacros_h */
21 
22 // Local Variables:
23 // mode: c++
24 // End: