Hi,
I’m compiling a macro which is supposed to read a Tree containing 64bit int vectors:
vector<vector > *trk_Pixel_hit_id;
I added in the LinkDef.h file all these pragma (that work for int and float):
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector<ULong64_t> >+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector >+;
#pragma link C++ class vector<vector<Long64_t> >+;
And I see the dictionaries in the Dict.h file:
/* STUB derived class for protected member access */
typedef vector<vector<int,allocator >,allocator<vector<int,allocator > > > G__vectorlEvectorlEintcOallocatorlEintgRsPgRcOallocatorlEvectorlEintcOallocatorlEintgRsPgRsPgRsPgR;
typedef vector<vector<unsigned long long,allocator >,allocator<vector<unsigned long long,allocator > > > G__vectorlEvectorlEunsignedsPlongsPlongcOallocatorlEunsignedsPlongsPlonggRsPgRcOallocatorlEvectorlEunsignedsPlongsPlongcOallocatorlEunsignedsPlongsPlonggRsPgRsPgRsPgR;
typedef vector<vector<float,allocator >,allocator<vector<float,allocator > > > G__vectorlEvectorlEfloatcOallocatorlEfloatgRsPgRcOallocatorlEvectorlEfloatcOallocatorlEfloatgRsPgRsPgRsPgR;
typedef vector<vector<long long,allocator >,allocator<vector<long long,allocator > > > G__vectorlEvectorlElongsPlongcOallocatorlElongsPlonggRsPgRcOallocatorlEvectorlElongsPlongcOallocatorlElongsPlonggRsPgRsPgRsPgR;
But any time I try to get the Tree entry, I receive this message:
Error in TBufferFile::CheckByteCount: object of class vector<vector<ULong64_t> > read too few bytes: 6 instead of 670
…and reads always 6 bytes. Can you help me?
My compilation setup is:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
uname -a
Darwin pb-d-128-141-141-192.cern.ch 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
g++ -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/[1][^.-]*/s//-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ROOT 5.34/01 (tags/v5-34-01@45048, Jul 13 2012, 15:31:31 on macosx)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Thanks you, cheers
francesca
cg ↩︎