-
Notifications
You must be signed in to change notification settings - Fork 403
/
Copy pathCombineCodegenImpl.h
29 lines (26 loc) · 1.32 KB
/
CombineCodegenImpl.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef HiggsAnalysis_CombinedLimit_CombineCodegenImpl_h
#define HiggsAnalysis_CombinedLimit_CombineCodegenImpl_h
#include <ROOT/RConfig.hxx> // for ROOT_VERSION
#include <RooAbsReal.h>
#include <string>
#if ROOT_VERSION_CODE >= ROOT_VERSION(6,35,0)
# define COMBINE_DECLARE_CODEGEN_IMPL(CLASS_NAME) \
namespace RooFit { namespace Experimental { void codegenImpl(CLASS_NAME &arg, CodegenContext &ctx); }}
# define COMBINE_DECLARE_CODEGEN_INTEGRAL_IMPL(CLASS_NAME) \
namespace RooFit { namespace Experimental { std::string codegenIntegralImpl(CLASS_NAME &arg, int code, const char *rangeName, CodegenContext &ctx); }}
# define COMBINE_DECLARE_TRANSLATE
# define COMBINE_DECLARE_ANALYTICAL_INTEGRAL
#elif ROOT_VERSION_CODE >= ROOT_VERSION(6,32,0)
# define COMBINE_DECLARE_CODEGEN_IMPL(CLASS_NAME)
# define COMBINE_DECLARE_CODEGEN_INTEGRAL_IMPL(CLASS_NAME)
# define COMBINE_DECLARE_TRANSLATE \
void translate(RooFit::Detail::CodeSquashContext &ctx) const override;
# define COMBINE_DECLARE_ANALYTICAL_INTEGRAL \
std::string buildCallToAnalyticIntegral(Int_t code, const char *rangeName, RooFit::Detail::CodeSquashContext &ctx) const override;
#else
# define COMBINE_DECLARE_CODEGEN_IMPL(_)
# define COMBINE_DECLARE_CODEGEN_INTEGRAL_IMPL(_)
# define COMBINE_DECLARE_TRANSLATE
# define COMBINE_DECLARE_ANALYTICAL_INTEGRAL
#endif
#endif