KaliVeda
1.15/7
Toolkit for HIC analysis
KVConfig.h
1
#ifndef KV_CONFIG__H
2
#define KV_CONFIG__H
3
4
#include "KVMacros.h"
5
6
// These defines are passed to dependent targets using CMake target_compile_definitions,
7
// however, when compiling user's code on the kaliveda/ROOT command line with ACliC,
8
// the defines are not defined... We need to define them here.
9
#ifndef WITH_TEMPLATED_EVENTS
10
#define WITH_TEMPLATED_EVENTS
11
#endif
12
13
#ifndef USING_ROOT6
14
#define USING_ROOT6
15
#endif
16
17
#ifndef WITH_GIT_INFOS
18
#define WITH_GIT_INFOS
19
#endif
20
21
#ifndef WITH_OPENGL
22
#define WITH_OPENGL
23
#endif
24
25
#ifndef WITH_PROOF
26
#define WITH_PROOF
27
#endif
28
29
#ifndef WITH_BOOST
30
#define WITH_BOOST
31
#endif
32
33
#ifndef WITH_GNU_INSTALL
34
#define WITH_GNU_INSTALL
35
#endif
36
37
#ifndef WITH_RSQLITE
38
#define WITH_RSQLITE
39
#endif
40
41
#ifndef WITH_BUILTIN_GRU
42
#define WITH_BUILTIN_GRU
43
#endif
44
45
#ifndef WITH_MFM
46
#define WITH_MFM
47
#endif
48
49
#ifndef WITH_PROTOBUF
50
#define WITH_PROTOBUF
51
#endif
52
53
#ifndef WITH_TKN
54
#define WITH_TKN
55
#endif
56
57
#ifndef WITH_PROTOBUF
58
#define WITH_PROTOBUF
59
#endif
60
61
#ifndef WITH_MESYTEC
62
#define WITH_MESYTEC
63
#endif
64
65
#ifndef WITH_ZMQ
66
#define WITH_ZMQ
67
#endif
68
69
#ifndef WITH_GEMINI
70
#define WITH_GEMINI
71
#endif
72
73
#ifndef WITH_FITLTG
74
#define WITH_FITLTG
75
#endif
76
77
#ifndef WITH_MULTICORE_CPU
78
#define WITH_MULTICORE_CPU 8
79
#endif
80
81
82
// Info on C++ standard used to compile code
83
#if __cplusplus > 199711L
84
#define WITH_CPP11
85
#if __cplusplus > 201103L
86
#define WITH_CPP14
87
#if __cplusplus > 201402L
88
#define WITH_CPP17
89
#if __cplusplus > 201703L
90
#define WITH_CPP20
91
#if __cplusplus > 202002L
92
#define WITH_CPP23
93
#if __cplusplus > 202302L
94
#define WITH_CPP26
95
#endif
96
#endif
97
#endif
98
#endif
99
#endif
100
#endif
101
102
// macro which expands to default constructor
103
#define ROOT_DEF_CTOR(classname,basename) \
104
classname() : basename() {}
105
106
// macro which expands to constructor with name
107
#define ROOT_NAME_CTOR(classname,basename) \
108
classname(const Char_t* name) : basename(name) {}
109
110
// macro which expands to default constructor
111
#define ROOT_DEF_CTOR_WITH_INIT(classname,basename) \
112
classname() : basename() { init(); }
113
114
// macro which expands to constructor with name
115
#define ROOT_NAME_CTOR_WITH_INIT(classname,basename) \
116
classname(const Char_t* name) : basename(name) { init(); }
117
118
// macro which expands to standard ROOT assignment by copy operator definition
119
// using object's Copy(TObject&) const method
120
// place in header file as needed
121
#define ROOT_COPY_ASSIGN_OP(name) \
122
name& operator=(const name& other) \
123
{ \
124
if(this != &other) \
125
{ \
126
other.Copy(*this); \
127
} \
128
return (*this); \
129
}
130
131
// macro which expands to standard ROOT copy constructor definition
132
// using object's Copy(TObject&) const method
133
// place in header file as needed
134
#define ROOT_COPY_CTOR(classname,basename) \
135
classname(const classname& other) \
136
: basename() \
137
{ \
138
other.Copy(*this); \
139
}
140
141
// provide set of constructors (default, named, copy) & a default destructor,
142
// plus copy assignment operator
143
#define ROOT_FULL_SET(classname,basename) \
144
ROOT_DEF_CTOR(classname,basename) \
145
ROOT_NAME_CTOR(classname,basename) \
146
ROOT_COPY_CTOR(classname,basename) \
147
ROOT_COPY_ASSIGN_OP(classname)
148
149
// provide set of constructors (default, copy),
150
// plus copy assignment operator
151
#define ROOT_FULL_SET_UNNAMED(classname,basename) \
152
ROOT_DEF_CTOR(classname,basename) \
153
ROOT_COPY_CTOR(classname,basename) \
154
ROOT_COPY_ASSIGN_OP(classname)
155
156
// provide set of constructors (default, named, copy),
157
// plus copy assignment operator, default & named ctors call init()
158
#define ROOT_FULL_SET_WITH_INIT(classname,basename) \
159
ROOT_DEF_CTOR_WITH_INIT(classname,basename) \
160
ROOT_NAME_CTOR_WITH_INIT(classname,basename) \
161
ROOT_COPY_CTOR(classname,basename) \
162
ROOT_COPY_ASSIGN_OP(classname)
163
164
// avoid warnings from clang static analyzer
165
#define AUTO_NEW_CTOR(classname,ptr) \
166
auto ptr = new classname
167
168
#endif
kaliveda.doxygen
src
core
base
KVConfig.h
Generated on Fri Sep 25 2026 15:12:23 for KaliVeda by
1.9.1