Hallo, excuse me if I repeat the well known question but this is a very important problem to me. I will show it on an easy example. Imagine that I have hit class like this: class MyHits : public TObject { public: int SimpleType; MyDataClass finalData[3]; // of course Streamer function defined in .cc file MyHits(); virtual ~MyHits(); ClassDef(MyHits,1) }; MyDataClass : public TObject { int SimpleType; int someData[10]; float *myArrayPtr; // again I provide Streamer which takes care of pointer also MyDataClass(); virtual ~MyDataClass(); ClassDef(MyDataClass,1) }; What I know: I can write it to one branch (just dumping data into one solid block without spliting). This works fine and I can read so created file, fill back data structure, make loops over events and fill some histograms. What I would like and donīt know: It is demanded by some people to provide them much easier (and faster!) way to access all data. I do not want to define the detailed (leaf by leaf) structure of my branch(es) but to stay with Streamer-mechanism. I know I can set up split mode and each variable will create another branch. My question: I failed with having access to array myData (of type MyDataClass). The branch seems to be not created. Is it possible (and how) finally to have the access like T.Draw("simpleType"); also to T.Draw("myData[0].SimpleType"); T.Draw("myData[1].someData"); T.Draw("myData[1].someData[3]"); (I know it is wrong what I write above but I hope it explains my wish). In other words how to use Streamer method of storing of my Class(es) into root-file (branch) and the pointers (keys) to all fields of my Class (and also fields of component which is of another class type). Thank you a lot in advance, Witek Przygoda
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:31 MET