===================================================== ===== INSTRUCTIONS TO IMPLEMENT NEW CLASSES HERE ==== ===== Arnaud Le Fevre, 03/2012 ====================== ===================================================== In order to compile and link correctly, don't forget to: 1- add any new .cxx file name in CMakeLists.txt 2- write instructions for linking the new classes and function in TATOFEvent.LinkDef.h (the same way Walter Mueller has done it). ========= Guidelines for instructing the .LinkDef.h file === Need ClassDef, ClassImp & Default Constructor for generating I/O related methods ClassDef(MyClass,0) --> make Dummy Streamer, No I/O LinkDef.h file #pragma link C++ class MyClass+; // to use new I/O system #pragma link C++ class MyClass- // not to generate Streamer method #pragma link C++ class MyClass! // not to generate operator >> #pragma link C++ class MyClass-! // no streamer, no >> operator option "+" is mutual exclusive with both "-" and "!" if no ClassDef and no ClassImp, trailing options are not different so much Dictionary (link C++) ClassDef/ClassImp TObject descendant Compile Read/Write Comments yes yes yes o o Have TObject feature : Write() etc., Can be a member of ROOT Collection yes yes no o o Have Streamer, ShowMembers, operator >> yes no no o × Availabe in CINT, Have nothig other than defined members no no no o × Usual class, Not available in CINT yes or no no yes o -- Strange class, Have NO his own Streamer no yes yes or no × --