GSI Helmholtzzentrum für Schwerionenforschung
Proxy dict successfully used for the event loop
Hi, meanwhile, I have introduced a global event class "AbsEvt" which contains just two static proxy dictionaries, one for event lifetime and the other one for job lifetime. I tested the event lifetime proxy dict with the EMC digitization by putting the objects "PndEmcWaveform" into it. How to put it into the proxy, you can find in the new task "EmcDigi/PndEmcHitsToTmpWaveform.cxx" and how to get it back, in the task "EmcDigi/PndEmcTmpWaveformToDigi.cxx". Note: Here, the PndEmcWaveform objects are only transient objects and will be deleted automatically at the end of each event. The relevant emc macro is "macro/emc/full_tmpWaveform_emc.C" and can be used alternatively to "macro/emc/full_emc.C". Since I have no svn write permission for the top "CMakeLists.txt" file, you have to add the following two lines to it: add_subdirectory (parbase) add_subdirectory (pndbase) (<- here to be added) add_subdirectory (pndbase/globaltasks) (<- here to be added) add_subdirectory (pnddata) Best regards, Bertram.
Re: Proxy dict successfully used for the event loop
....it has been added in the head! j.
Hi, in the last posting I forgot to mention that one has also to add the following two lines in gconfig/rootlogon.C: ... gSystem->Load("libBase") gSystem->Load("libPndBase") (<- here to add) gSystem->Load("libGlobalTask") (<- here to add) gSystem->Load("libTrkBase") ... Cheers, Bertram.
also done .... I changed gSystem->Load("libGlobalTask") in gSystem->Load("libGlobalTasks"), though.... j.
Hi, This stuff is not compiling on Mac OS (Leopard and Snow Leopard). I get the error: Toggle Spoiler Quote: [ 8%] Built target ParBase [ 8%] Building CXX object pndbase/CMakeFiles/PndBase.dir/proxydict/IfdCompositeKey.o In file included from /usr/include/c++/4.2.1/algorithm:65, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:24, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy<true, std::random_access_iterator_tag>::copy(const _Tp*, const _Tp*, _Tp*)': /usr/include/c++/4.2.1/bits/stl_algobase.h:298: error: 'memmove' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_algobase.h: At global scope: /usr/include/c++/4.2.1/bits/stl_algobase.h:321: error: 'ostreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algobase.h:321: error: template argument 2 is invalid /usr/include/c++/4.2.1/bits/stl_algobase.h:321: error: expected unqualified-id before '>' token /usr/include/c++/4.2.1/bits/stl_algobase.h:326: error: 'ostreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algobase.h:326: error: template argument 2 is invalid /usr/include/c++/4.2.1/bits/stl_algobase.h:326: error: expected unqualified-id before '>' token /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: template declaration of 'typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, _CharT*>::__type std::__copy_aux' /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: 'istreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: expected primary-expression before '>' token /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: expected primary-expression before ',' token /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: 'istreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: expected primary-expression before '>' token /usr/include/c++/4.2.1/bits/stl_algobase.h:331: error: expected primary-expression before ',' token /usr/include/c++/4.2.1/bits/stl_algobase.h:332: error: expected primary-expression before '*' token /usr/include/c++/4.2.1/bits/stl_algobase.h:332: error: expected primary-expression before ')' token /usr/include/c++/4.2.1/bits/stl_algobase.h:407: error: 'ostreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algobase.h:407: error: template argument 2 is invalid /usr/include/c++/4.2.1/bits/stl_algobase.h:407: error: expected unqualified-id before '>' token /usr/include/c++/4.2.1/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy_backward<true, std::random_access_iterator_tag>::__copy_b(const _Tp*, const _Tp*, _Tp*)': /usr/include/c++/4.2.1/bits/stl_algobase.h:446: error: 'memmove' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_algobase.h: In function 'void std::fill(unsigned char*, unsigned char*, const unsigned char&)': /usr/include/c++/4.2.1/bits/stl_algobase.h:600: error: 'memset' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_algobase.h: In function 'void std::fill(signed char*, signed char*, const signed char&)': /usr/include/c++/4.2.1/bits/stl_algobase.h:608: error: 'memset' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_algobase.h: In function 'void std::fill(char*, char*, const char&)': /usr/include/c++/4.2.1/bits/stl_algobase.h:616: error: 'memset' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_algobase.h: In function 'bool std::lexicographical_compare(const unsigned char*, const unsigned char*, const unsigned char*, const unsigned char*)': /usr/include/c++/4.2.1/bits/stl_algobase.h:908: error: 'memcmp' is not a member of 'std' In file included from /usr/include/c++/4.2.1/algorithm:67, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:24, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_copy_aux(_InputIterator, _InputIterator, _ForwardIterator, std::__false_type)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:93: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'char* std::uninitialized_copy(const char*, const char*, char*)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:120: error: 'memmove' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'wchar_t* std::uninitialized_copy(const wchar_t*, const wchar_t*, wchar_t*)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:128: error: 'memmove' is not a member of 'std' /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'void std::__uninitialized_fill_aux(_ForwardIterator, _ForwardIterator, const _Tp&, std::__false_type)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:155: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'void std::__uninitialized_fill_n_aux(_ForwardIterator, _Size, const _Tp&, std::__false_type)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:200: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:245: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'void std::__uninitialized_fill_a(_ForwardIterator, _ForwardIterator, const _Tp&, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:270: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'void std::__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:296: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_copy_copy(_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _ForwardIterator, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:338: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_fill_copy(_ForwardIterator, _ForwardIterator, const _Tp&, _InputIterator, _InputIterator, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:361: error: '__throw_exception_again' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_uninitialized.h: In function 'void std::__uninitialized_copy_fill(_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator, const _Tp&, _Allocator)': /usr/include/c++/4.2.1/bits/stl_uninitialized.h:386: error: '__throw_exception_again' was not declared in this scope In file included from /usr/include/c++/4.2.1/algorithm:68, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:24, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/stl_algo.h: At global scope: /usr/include/c++/4.2.1/bits/stl_algo.h:304: error: 'istreambuf_iterator' was not declared in this scope /usr/include/c++/4.2.1/bits/stl_algo.h:304: error: template argument 2 is invalid /usr/include/c++/4.2.1/bits/stl_algo.h:304: error: expected unqualified-id before '>' token In file included from /usr/include/c++/4.2.1/string:47, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:25, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static typename __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::move(_CharT*, const _CharT*, size_t)': /usr/include/c++/4.2.1/bits/char_traits.h:186: error: 'memmove' is not a member of 'std' /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static int std::char_traits<char>::compare(const char*, const char*, size_t)': /usr/include/c++/4.2.1/bits/char_traits.h:254: error: 'memcmp' was not declared in this scope /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static size_t std::char_traits<char>::length(const char*)': /usr/include/c++/4.2.1/bits/char_traits.h:258: error: 'strlen' was not declared in this scope /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static const char* std::char_traits<char>::find(const char*, size_t, const char&)': /usr/include/c++/4.2.1/bits/char_traits.h:262: error: 'memchr' was not declared in this scope /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static char* std::char_traits<char>::move(char*, const char*, size_t)': /usr/include/c++/4.2.1/bits/char_traits.h:266: error: 'memmove' was not declared in this scope /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static char* std::char_traits<char>::copy(char*, const char*, size_t)': /usr/include/c++/4.2.1/bits/char_traits.h:270: error: 'memcpy' was not declared in this scope /usr/include/c++/4.2.1/bits/char_traits.h: In static member function 'static char* std::char_traits<char>::assign(char*, size_t, char)': /usr/include/c++/4.2.1/bits/char_traits.h:274: error: 'memset' was not declared in this scope In file included from /usr/include/c++/4.2.1/string:51, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:25, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/ostream_insert.h: At global scope: /usr/include/c++/4.2.1/bits/ostream_insert.h:46: error: variable or field '__ostream_write' declared void /usr/include/c++/4.2.1/bits/ostream_insert.h:46: error: 'basic_ostream' was not declared in this scope /usr/include/c++/4.2.1/bits/ostream_insert.h:46: error: expected primary-expression before ',' token /usr/include/c++/4.2.1/bits/ostream_insert.h:46: error: expected primary-expression before '>' token /usr/include/c++/4.2.1/bits/ostream_insert.h:46: error: '__out' was not declared in this scope /usr/include/c++/4.2.1/bits/ostream_insert.h:47: error: expected primary-expression before 'const' /usr/include/c++/4.2.1/bits/ostream_insert.h:47: error: expected primary-expression before '__n' /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: variable or field '__ostream_fill' declared void /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: 'basic_ostream' was not declared in this scope /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: expected primary-expression before ',' token /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: expected primary-expression before '>' token /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: '__out' was not declared in this scope /usr/include/c++/4.2.1/bits/ostream_insert.h:59: error: expected primary-expression before '__n' /usr/include/c++/4.2.1/bits/ostream_insert.h:77: error: expected constructor, destructor, or type conversion before '<' token /usr/include/c++/4.2.1/bits/ostream_insert.h:116: error: explicit instantiation of non-template 'int std::ostream' /usr/include/c++/4.2.1/bits/ostream_insert.h:116: error: expected `;' before '&' token /usr/include/c++/4.2.1/bits/ostream_insert.h:119: error: explicit instantiation of non-template 'int std::wostream' /usr/include/c++/4.2.1/bits/ostream_insert.h:119: error: expected `;' before '&' token In file included from /usr/include/c++/4.2.1/string:54, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:25, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/basic_string.h:2390: error: expected constructor, destructor, or type conversion before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2395: error: expected constructor, destructor, or type conversion before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2408: error: expected initializer before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2431: error: expected constructor, destructor, or type conversion before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2448: error: expected initializer before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2454: error: expected constructor, destructor, or type conversion before '<' token /usr/include/c++/4.2.1/bits/basic_string.h:2460: error: expected constructor, destructor, or type conversion before '<' token In file included from /usr/include/c++/4.2.1/string:58, from /Users/turany/fairsoft/pandaroot/pndbase/PndStdUtils/string.h:25, from /usr/include/c++/4.2.1/cstring:52, from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/basic_string.tcc:981: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:981: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:984: error: explicit instantiation of non-template 'int std::basic_ostream' /usr/include/c++/4.2.1/bits/basic_string.tcc:984: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:987: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:987: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:990: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:990: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:996: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:996: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:999: error: explicit instantiation of non-template 'int std::basic_ostream' /usr/include/c++/4.2.1/bits/basic_string.tcc:999: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:1002: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:1002: error: expected `;' before '<' token /usr/include/c++/4.2.1/bits/basic_string.tcc:1005: error: explicit instantiation of non-template 'int std::basic_istream' /usr/include/c++/4.2.1/bits/basic_string.tcc:1005: error: expected `;' before '<' token In file included from /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:48, from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/cstring:80: error: '::memcpy' has not been declared /usr/include/c++/4.2.1/cstring:81: error: '::memmove' has not been declared /usr/include/c++/4.2.1/cstring:82: error: '::strcpy' has not been declared /usr/include/c++/4.2.1/cstring:83: error: '::strncpy' has not been declared /usr/include/c++/4.2.1/cstring:84: error: '::strcat' has not been declared /usr/include/c++/4.2.1/cstring:85: error: '::strncat' has not been declared /usr/include/c++/4.2.1/cstring:86: error: '::memcmp' has not been declared /usr/include/c++/4.2.1/cstring:87: error: '::strcmp' has not been declared /usr/include/c++/4.2.1/cstring:88: error: '::strcoll' has not been declared /usr/include/c++/4.2.1/cstring:89: error: '::strncmp' has not been declared /usr/include/c++/4.2.1/cstring:90: error: '::strxfrm' has not been declared /usr/include/c++/4.2.1/cstring:91: error: '::strcspn' has not been declared /usr/include/c++/4.2.1/cstring:92: error: '::strspn' has not been declared /usr/include/c++/4.2.1/cstring:93: error: '::strtok' has not been declared /usr/include/c++/4.2.1/cstring:94: error: '::memset' has not been declared /usr/include/c++/4.2.1/cstring:95: error: '::strerror' has not been declared /usr/include/c++/4.2.1/cstring:96: error: '::strlen' has not been declared /usr/include/c++/4.2.1/cstring:98: error: '::memchr' has not been declared /usr/include/c++/4.2.1/cstring: In function 'void* std::memchr(void*, int, size_t)': /usr/include/c++/4.2.1/cstring:102: error: invalid conversion from 'const void*' to 'void*' /usr/include/c++/4.2.1/cstring:102: error: initializing argument 1 of 'void* std::memchr(void*, int, size_t)' /usr/include/c++/4.2.1/cstring: At global scope: /usr/include/c++/4.2.1/cstring:104: error: '::strchr' has not been declared /usr/include/c++/4.2.1/cstring:110: error: '::strpbrk' has not been declared /usr/include/c++/4.2.1/cstring:116: error: '::strrchr' has not been declared /usr/include/c++/4.2.1/cstring:122: error: '::strstr' has not been declared In file included from /usr/include/c++/4.2.1/iosfwd:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:42, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h: In function 'int std::__convert_from_v(int* const&, char*, int, const char*, ...)': /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:69: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:71: error: 'strlen' is not a member of 'std' /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/c++locale.h:72: error: 'strcpy' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/ios_base.h:47, from /usr/include/c++/4.2.1/ios:48, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/locale_classes.h: In member function 'bool std::locale::_Impl::_M_check_same_name()': /usr/include/c++/4.2.1/bits/locale_classes.h:539: error: 'strcmp' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'const char* std::ctype<char>::widen(const char*, const char*, char*) const': /usr/include/c++/4.2.1/bits/locale_facets.h:898: error: 'memcpy' was not declared in this scope /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'const char* std::ctype<char>::narrow(const char*, const char*, char, char*) const': /usr/include/c++/4.2.1/bits/locale_facets.h:963: error: 'memcpy' was not declared in this scope /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'virtual const char* std::ctype<char>::do_widen(const char*, const char*, char*) const': /usr/include/c++/4.2.1/bits/locale_facets.h:1100: error: 'memcpy' was not declared in this scope /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'virtual const char* std::ctype<char>::do_narrow(const char*, const char*, char, char*) const': /usr/include/c++/4.2.1/bits/locale_facets.h:1153: error: 'memcpy' was not declared in this scope /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'void std::ctype<char>::_M_widen_init() const': /usr/include/c++/4.2.1/bits/locale_facets.h:1168: error: 'memcmp' was not declared in this scope /usr/include/c++/4.2.1/bits/locale_facets.h: In member function 'void std::ctype<char>::_M_narrow_init() const': /usr/include/c++/4.2.1/bits/locale_facets.h:1183: error: 'memcmp' was not declared in this scope In file included from /usr/include/c++/4.2.1/bits/locale_facets.h:1536, from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/codecvt.h: In constructor 'std::codecvt_byname<_InternT, _ExternT, _StateT>::codecvt_byname(const char*, size_t)': /usr/include/c++/4.2.1/bits/codecvt.h:460: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/bits/codecvt.h:460: error: 'strcmp' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/locale_facets.h: In constructor 'std::numpunct_byname<_CharT>::numpunct_byname(const char*, size_t)': /usr/include/c++/4.2.1/bits/locale_facets.h:1904: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/bits/locale_facets.h:1904: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/bits/locale_facets.h: In constructor 'std::collate_byname<_CharT>::collate_byname(const char*, size_t)': /usr/include/c++/4.2.1/bits/locale_facets.h:2726: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/bits/locale_facets.h:2726: error: 'strcmp' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/locale_facets.h:3040, from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/time_members.h: In constructor 'std::__timepunct<_CharT>::__timepunct(int*, const char*, size_t)': /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/time_members.h:65 : error: 'strlen' is not a member of 'std' /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/time_members.h:67 : error: 'memcpy' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/bits/locale_facets.h: In constructor 'std::moneypunct_byname<_CharT, _Intl>::moneypunct_byname(const char*, size_t)': /usr/include/c++/4.2.1/bits/locale_facets.h:4014: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/bits/locale_facets.h:4014: error: 'strcmp' is not a member of 'std' In file included from /usr/include/c++/4.2.1/bits/locale_facets.h:4599, from /usr/include/c++/4.2.1/bits/basic_ios.h:44, from /usr/include/c++/4.2.1/ios:50, from /usr/include/c++/4.2.1/ostream:45, from /usr/include/c++/4.2.1/iostream:45, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdKey.h:43, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.h:26, from /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:2 4: /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/messages_members. h: In constructor 'std::messages_byname<_CharT>::messages_byname(const char*, size_t)': /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/messages_members. h:86: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/i686-apple-darwin10/x86_64/bits/messages_members. h:86: error: 'strcmp' is not a member of 'std' /usr/include/c++/4.2.1/ostream: In function 'std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with _Traits = std::char_traits<char>]': /Users/turany/fairsoft/pandaroot/pndbase/proxydict/IfdCompositeKey.cxx:8 6: instantiated from here /usr/include/c++/4.2.1/ostream:517: error: '__ostream_insert' was not declared in this scope as you can see it is related to the namespaces and the fact that BaBar re-implement the string.h in there own namespace (here panda namespace). But searching for for namespaces in the pndbase, the panda namespace seems to be defined but not used. Toggle Spoiler Quote: PndStdUtils/PndCollectionUtils.h:namespace panda { PndStdUtils/PndCollectionUtils.h: namespace Collection { PndStdUtils/PndIOStreamUtils.h:namespace panda { PndStdUtils/PndIOStreamUtils.h: namespace IOStream { PndStdUtils/PndIOStreamUtils.h: } // end namespace IOStream PndStdUtils/PndIOStreamUtils.h:} // end namespace babar PndStdUtils/PndPairUtils.h:namespace panda { PndStdUtils/PndPairUtils.h: namespace Pair { PndStdUtils/String.cxx:// The functions, within this namespace, are needed by BaBar to replace PndStdUtils/String.h:// The functions, within this namespace, are needed by BaBar to replace PndStdUtils/String.h:namespace panda { PndStdUtils/String.h: namespace String { PndStdUtils/testRegEx.cc.org:using namespace babar::String; PndStdUtils/testString.cc.org:using namespace babar::String; PndStdUtils/testTokenize.cc.org:using namespace babar::String; PndStdUtils/Tokenize.h:namespace panda { PndStdUtils/Tokenize.h: namespace String { proxydict/IfdCompositeKey.h:using namespace std; proxydict/IfdCounter.cxx: // the static live in the global namespace. proxydict/IfdIntKey.h:using namespace std; proxydict/IfdKey.h:using namespace std; proxydict/IfdStrKey.h:using namespace std; proxydict/IfdTestClasses.h:using namespace std; proxydict/IfdTypeKey.h:using namespace std; proxydict/IfdTypeKeyIFace.h:using namespace std; On Linux I could compile the stuff but could not run it. Quote: Error: Symbol PndEmcHitsToTmpWaveform is not defined in current scope full_tmpWaveform_emc.C:73: Error: Symbol PndEmcHitsToTmpWaveform is not defined in current scope full_tmpWaveform_emc.C:73: Error: type PndEmcHitsToTmpWaveform not defined FILE:/home/turany/pandaroot/macro/emc/./full_tmpWaveform_emc.C LINE:73 Warning: Automatic variable PndEmcHitsToTmpWaveform* emcHitsToTmpWaveform is allocated full_tmpWaveform_emc.C:73: Error: Undeclared variable PndEmcHitsToTmpWaveform* emcHitsToTmpWaveform full_tmpWaveform_emc.C:73: even though, the libraries are loaded. Now to the general questions, this stuff is a copy of the BaBar stuff, do we have anybody who really can maintain this, modify it and develop it further? Looking to the example task, it is a FairTask but without Init, and just create a dictionary in the exec (i.e. for each event) is that what we need, an event by event dictionary? there is also a lot of other technical questions, but the main one is what is this package is good for? this is still not really clear for me. regards Mohammad
Hi Mohammad, thanks for the bug report. I committed some bug fixes. Try it now and and let me know if it is compiling and the emc macro is running properly. Cheers, Bertram.
Hallo Bertram, Now it compile also on MAC, it runs properly on Linux too. Thanks! regards Mohammad
Hi Mohammad, Mohammad Al-Turany wrote Now to the general questions, this stuff is a copy of the BaBar stuff, do we have anybody who really can maintain this, modify it and develop it further? This stuff is well tested and seems to work also in the new software environment. Since it is (or will be) part of the internal PndRoot software, it is possible for us -if needed - to modify and develop it further. The maintenance is also not difficult, since the code doesn't depend on anything (apart of the std template library) and is just written in c++ utilizing a couple of templates. BTW: Why do we use Geant3? It is not maintaining anymore. And it is even an external package which we can not easily modify or maintain. Mohammad Al-Turany wrote Looking to the example task, it is a FairTask but without Init, and just create a dictionary in the exec (i.e. for each event) is that what we need, an event by event dictionary? Yes! This is exactly that what I wanted to introduce. An event lifetime dictionary and in addition a job lifetime dictionary (not yet implemented). The purpose of the event lifetime dictionary is to store and get access to objects which only exists within one event. The proxy takes care of deleting all pointers which are put into this dictionary. The major purpose of the job lifetime proxy dict is to store and get access to condition objects which do not necessarily change from event to event. In principle, this proxy dict should be used as an interface to the conditions database. I think, another advantage is, that this proxy provides the data in a type-safe way. Therefore error-prone casts are not needed in our software code. Best regards, Bertram.
Hi, fine for me, if it is really needed, and if it can be maintained and developed it is ok. Quote: BTW: Why do we use Geant3? It is not maintaining anymore. And it is even an external package which we can not easily modify or maintain. Geant3 in cernlib is not maintained any more and what we use it Geant3VMC which is maintained by the ROOT team and ALICE collaboration, we also participate in the development and maintenance so we can easily change things if needed. The fact that it is external tells you that if it comes to a dead end we just remove it without any effect to our software. But here with the Babar stuff it is different, First it is inside our stuff and you want to integrate it everywhere so taken this out or replacing it is not as easy as removing G3. Quote: The major purpose of the job lifetime proxy dict is to store and get access to condition objects which do not necessarily change from event to event. In principle, this proxy dict should be used as an interface to the conditions database. You said also that this "job lifetime proxy" is not yet implemented, what about the connection to the database? is the plan now to implement (or port?) everything here, including a version management system and so on? regards Mohammad
Hi, Mohammad Al-Turany wrote You said also that this "job lifetime proxy" is not yet implemented, what about the connection to the database? is the plan now to implement (or port?) everything here, including a version management system and so on? Of course. This is planned on a longer time scale. The first step is done. Namely to provide some tools which are very useful for the connection to the database. Cheers, Bertram.
Hi, Great, we had problems to find somebody doing the table design, validation and so on for panda, So if you now take this then we (Here in FairRoot) do not need to care about this issue and we can also remove the runtime database completely from the panda part. Regards Mohammad
Hold the horses! This goes too fast according to my taste. I find it perfectly OK to try out new things and learn from it. But we *cannot* decide by forum to forget about the existing runtime database tools! This we seriously need to discuss among the developers first. Johan.