-----Original Message----- From: Rene Brun <Rene.Brun@cern.ch> To: William J Deninger <deninger@uiuc.edu> Cc: roottalk <roottalk@hpsalo.cern.ch> Date: Monday, April 06, 1998 1:37 AM Subject: Re: disabling TNamed characteristics of TNamed inherited objects > >Your TCalo class should have a data member being a list (TList, >TObjArray,..) of TWfdPulse objects. If calo is an instance of TCalo, >then > calo->Write(); >will write one single key for this TCalo object. The other objects >inside calo will not be visible when you list the directory. > >Rene Brun > Rene, I don't believe that this method works. It was tried with both TObjArray and TClonesArray. The following does produces a listing of objects in the TFile directory. Would you have any other suggestions? And all you help is greatly appreciated! --William J Deninger //__________________________________________________ CINT/ROOT C/C++ Interpreter version 5.13.45, Mar 17 1998 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] TFile *f = new TFile("f:/test;3.root","recreate"); root [1] TDriftSpectrumInfo *d1 = new TDriftSpectrumInfo("d1"); root [2] Int_t i; root [3] for (i=1; i<3; i++) d1->Add(i); root [4] d1->Build(); root [5] f.ls() TFile** f:/test;3.root TFile* f:/test;3.root OBJ: TDriftSpectrumInfo d1 d1 : 0 OBJ: TDriftSpectrum drift1 drift1 : 0 OBJ: TDriftSpectrum drift2 drift2 : 0 OBJ: TDriftSpectrum drift3 drift3 : 0root [6] d1->Write() root [7] f->Write() TFile Writing Name=f:/test;3.root Title= root [8] f.Close() root [9] CINT/ROOT C/C++ Interpreter version 5.13.45, Mar 17 1998 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] TFile *f = new TFile("f:/test;3.root"); root [1] f.ls() TFile** f:/test;3.root TFile* f:/test;3.root KEY: TDriftSpectrumInfo d1;2 d1 KEY: TDriftSpectrumInfo d1;1 d1 KEY: TDriftSpectrum drift1;1 drift1 KEY: TDriftSpectrum drift2;1 drift2 KEY: TDriftSpectrum drift3;1 drift3 root [2] //__________________________________________________ class TDriftSpectrum : public TH1F { public: TDriftSpectrum(); TDriftSpectrum(Text_t* title); virtual ~TDriftSpectrum(); ClassDef(TDriftSpectrum,1) }; //__________________________________________________ class TDriftSpectrumInfo : public TDriftSpectrum { public: TDriftSpectrumInfo(); TDriftSpectrumInfo(Text_t *tname); virtual ~TDriftSpectrumInfo(); TDriftSpectrum * Add(Int_t index); TDriftSpectrum * Add(Text_t *title); TObjArray *drift; protected: ClassDef(TDriftSpectrumInfo,1) }; TDriftSpectrumInfo::TDriftSpectrumInfo(Text_t *tname) : TDriftSpectrum(tname) { drift = new TObjArray(500); drift->Clear(); size = 0; } TDriftSpectrum * TDriftSpectrumInfo::Add(Int_t index) { Char_t title[256]; sprintf(title,"drift%i",index); return Add(title); } TDriftSpectrum * TDriftSpectrumInfo::Add(Text_t *title) { if ((*drift)[size]) delete (*drift)[size]; (*drift)[size] = new TDriftSpectrum(title); return (TDriftSpectrum *) (*drift)[size++]; }
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:31 MET