struct NAME \
{ \
using BeforeLoading = TypeList<CALORECGPU_CMC_EXPAND BEFORELOAD>; \
template <class T> __device__ static void before(Parameters p, \
const int cluster) \
using CellLoading = TypeList<CALORECGPU_CMC_EXPAND CELLLOAD>; \
using ClusterLoading = TypeList<CALORECGPU_CMC_EXPAND CLUSTERLOAD>; \
template <class T> __device__ static void per_cell(Parameters p, \
const int cell, \
const int cluster) \
using AfterLoading = TypeList<CALORECGPU_CMC_EXPAND AFTERLOAD>; \
template <class T> __device__ static void after(Parameters p, \
const int cluster) \
}
char data[hepevt_bytes_allocation_ATLAS]
1201#define CALORECGPU_CMC_MOMENT_CALC(NAME, BEFORELOAD, BEFOREEXEC, CELLLOAD, CLUSTERLOAD, CELLEXEC, AFTERLOAD, AFTEREXEC) \
1202 struct NAME \
1203 { \
1204 using BeforeLoading = TypeList<CALORECGPU_CMC_EXPAND BEFORELOAD>; \
1205 template <class T> __device__ static void before(Parameters p, \
1206 const T & data, \
1207 const int cluster) \
1208 { CALORECGPU_CMC_EXPAND BEFOREEXEC } \
1209 using CellLoading = TypeList<CALORECGPU_CMC_EXPAND CELLLOAD>; \
1210 using ClusterLoading = TypeList<CALORECGPU_CMC_EXPAND CLUSTERLOAD>; \
1211 template <class T> __device__ static void per_cell(Parameters p, \
1212 const T & data, \
1213 const int cell, \
1214 const int cluster) \
1215 { CALORECGPU_CMC_EXPAND CELLEXEC } \
1216 using AfterLoading = TypeList<CALORECGPU_CMC_EXPAND AFTERLOAD>; \
1217 template <class T> __device__ static void after(Parameters p, \
1218 const T & data, \
1219 const int cluster) \
1220 { CALORECGPU_CMC_EXPAND AFTEREXEC } \
1221 }