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++];
}