Good morning Rooters, I would like to write the following class, which includes a TObjArray, to a ROOT file. However, the Streamer function for the 'TObjArray* fTracks' pointer, generated by rootcint does, not call a Streamer function for the TObjArray, as can be seem in the attached Streamer function. I have lloed for similar examples but could not find any. I am just getting started with root, so any helpful tips would be appreciated. Thanks. #ifndef TXrayEvent_hh #define TXrayEvent_hh 1 //////////////////////////////////////////////////////////////// // // // TXrayEvent // // Description of the event parameters // // // //////////////////////////////////////////////////////////////// #include "TObjArray.h" #include <iostream.h> #include "TXrayTrack.hh" #ifdef G4ROOT #include "G4Event.hh" #endif class TXrayEvent : public TObject { public: TXrayEvent(); virtual ~TXrayEvent(); Int_t GetRunID() const { return frunID; } Int_t GetEvtID() const { return feventID; } Int_t GetDate() const { return fDate; } Int_t GetNTrack() const { return fNtrack; } UInt_t GetFlag() const { return fFlag; } TObjArray *GetTracks() const { return fTracks; } void Clear(Option_t* option=""); void Reset(Option_t* option=""); #ifdef G4ROOT public: void Fill (const G4Event*); void AddTrack(const XrayTrajectory*); #endif private: Int_t frunID; Int_t feventID; Int_t fDate; Int_t fNtrack; UInt_t fFlag; TObjArray *fTracks; static TObjArray *fgTracks; ClassDef(TXrayEvent,1) //Event structure }; #endif /////////////////////////////////// // rootcint generated Streamer // /////////////////////////////////// void TXrayEvent::Streamer(TBuffer &R__b) { // Stream an object of class TXrayEvent. if (R__b.IsReading()) { Version_t R__v = R__b.ReadVersion(); if (R__v) { } TObject::Streamer(R__b); R__b >> frunID; R__b >> feventID; R__b >> fDate; R__b >> fNtrack; R__b >> fFlag; R__b >> fTracks; } else { R__b.WriteVersion(TXrayEvent::IsA()); TObject::Streamer(R__b); R__b << frunID; R__b << feventID; R__b << fDate; R__b << fNtrack; R__b << fFlag; R__b << fTracks; } } _____________ Anthony A. Faust | Anthony.Faust@dres.dnd.ca Defence Research Establishment Suffield | PH: (403) 544-5362 Box 4000, Medicine Hat, Alberta, CANADA T1A 8K6 | FAX: (403) 544-4704
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:43 MET