Hello, I use ROOT version 2.25/03, using MSVC++ 6.0 under WinNT. The program below runs fine in principle. If I throw in a couple of events, with Tuple::Addevent, I can plot them from the n-tuple that is produced. If I add more and more files to the project, without changing main.cpp at all, none of the extra files using ROOT related code, the program will fail in Tuple::CloseTuple, in the line p_file->Write(). The message I get is then: -------------------------------------------------------------------- <CustomRealloc2>: passed oldsize 1032, should be 18415747 Fatal in <CustomReAlloc2>: unreasonable size (18415747) aborting Warning in <TWinNTSystem::StackTrace>: this method must be overriden! -------------------------------------------------------------------- I know that linking root into C++ programs sometimes involves subtleties that are not present in macros, so I probably have overlooked something simple. I want to use the buffering and compression facilities of n-tuples in my program, however. I hope you can tell from this information what goes wrong. Thanks, Marc --------------------- main.cpp ----------------------------------- #include "D:/code/libs/neuronlib/tuple.h" int main() { Tuple tup; tup.OpenTuple("bla"); tup.CloseTuple(); return 0; } ------------------------ tuple.h ----------------------------------- class Tuple { public: Tuple(); bool OpenTuple(const char*p); void CloseTuple(); void AddEvent( int, int, float); }; ------------------------ tuple.cpp --------------------------------------- #include "tuple.h" #include <TRoot.h> #include <TNtuple.h> #include <TFile.h> TROOT root("root","tup"); TFile* p_file; TNtuple* p_tuple; Tuple::Tuple() { } bool Tuple::OpenTuple(const char* p) { p_file = new TFile(p,"RECREATE","spike simulation run"); p_tuple = new TNtuple("ntuple","events","in:out:time"); return true; } void Tuple::CloseTuple() { p_file->Write(); p_file->Close(); delete p_file; } void Tuple::AddEvent( int i, int j, float f) { p_tuple->Fill((float)i,(float)j,f); } ---------------------------------------------------------------------------- ----
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:36 MET