Dear all,
I would like to revise the meaning and the use of the dictionary, because after having read all the documentation at my disposal I feel quite confused. So, feel free to complete my observations and correct my mistakes (answering true or false to my statements). As an example consider a custom class MyClass
Statement: dictionary is necessary to access MyClass during an interactive session using the interpreter. I am also supposing that MyClass is NOT inheriting from TObject, and also that I don’t want to use RTTI and I/O feature.
Let’s abandon now the interpreter. From now on, I only refer to compiled programs and libraries.
Statement: dictionary is necessary if MyClass inherits from TObject. Can I have MyClass : public TObject and not to create a dictionary, if I do not want RTTI and I/O? And if I do want?
Statement: dictionary is necessary if I want to store MyClass inside a TCollection. This is a consequence of the previous because I know that only TObject descendent can be stored in a TCollection.
Statement: dictionary is necessary if I want to store MyClass inside a TTree. In this case, is MyClass obliged to inherit from TObject?
As you can see, the core of my questions is always to clearly define the difference between using ROOT as a framework (e.g inheriting from TObject) or simply as a library.
Thank you in advance to all the people who will answer to my question.
Paolo Adragna