2 #ifndef ROOTHISTCNV_RCWNTCNV_H
3 #define ROOTHISTCNV_RCWNTCNV_H 1
15 namespace RootHistCnv {
27 return CLID_ColumnWiseTuple;
46 size_t saveItem(
char* target,
const T* src,
size_t len) {
47 long* tar = (
long*)target;
48 for (
size_t i = 0;
i < len;
i++ ) {
49 *(tar++) =
long( *(src++));
51 return sizeof(long)*len;
54 size_t saveItem(
char* target, T* src,
size_t len) {
55 memcpy(target, src,
sizeof(T)*len);
60 size_t loadItem(
char* src, T* tar,
size_t len) {
62 for (
size_t i = 0;
i < len;
i++ ) {
63 *(tar++) = T( *(s++));
65 return sizeof(long)*len;
67 size_t loadItem(
char* src,
bool* tar,
size_t len) {
69 for (
size_t i = 0;
i < len;
i++ ) {
70 *(tar++) = (*(s++)) ?
true :
false;
72 return sizeof(long)*len;
74 size_t loadItem(
char* src,
float* target,
size_t len) {
75 memcpy(target, src,
sizeof(
float)*len);
76 return sizeof(float)*len;
78 size_t loadItem(
char* src,
double* target,
size_t len) {
79 memcpy(target, src,
sizeof(
double)*len);
80 return sizeof(double)*len;
82 size_t loadItem(
char* src,
long* target,
size_t len) {
83 memcpy(target, src,
sizeof(
long)*len);
84 return sizeof(long)*len;
86 size_t loadItem(
char* src,
unsigned long* target,
size_t len) {
87 memcpy(target, src,
sizeof(
unsigned long)*len);
88 return sizeof(
unsigned long)*len;
95 #endif // ROOTHISTCNV_RCWNTCNV_H
NTuple converter class definition.
virtual StatusCode readData(TTree *rtree, INTuple *pObject, long ievt)
Read N tuple data.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Converter of Column-wise NTuple into ROOT format.
virtual StatusCode book(const std::string &desc, INTuple *pObject, TTree *&tree)
Book the N tuple.
RCWNTupleCnv(ISvcLocator *svc)
Standard constructor.
NTuple interface class definition.
size_t loadItem(char *src, bool *tar, size_t len)
This class is used for returning status codes from appropriate routines.
unsigned int CLID
Class ID definition.
size_t loadItem(char *src, double *target, size_t len)
virtual StatusCode writeData(TTree *rtree, INTuple *pObject)
Write N tuple data.
size_t saveItem(char *target, const T *src, size_t len)
size_t loadItem(char *src, long *target, size_t len)
size_t loadItem(char *src, T *tar, size_t len)
static const CLID & classID()
Inquire class type.
size_t saveItem(char *target, T *src, size_t len)
virtual StatusCode load(TTree *tree, INTuple *&refpObject)
Create the transient representation of an object.
virtual ~RCWNTupleCnv()
Standard destructor.
size_t loadItem(char *src, unsigned long *target, size_t len)
size_t loadItem(char *src, float *target, size_t len)