Hi Rene, thanks for the reply, but indeed this small script doesn't work for me : { TClonesArray* array = new TClonesArray("class",10) ; if(array->IsZombie()) cout << "is zombie" << endl ; } which obviously gives an error message since class is not known but doesn't return the expected "is zombie" statement. seb. ps : I'm running on redhat 7.2, gcc 2.96, version 3.05/02. On Thu, 10 Apr 2003, Rene Brun wrote: > Hi Sebastien, > > I cannot reproduce your problem with the test on Zombie. > Note that in your example, you had a typo, testing on aclone > instead of aclonesarray. > > I have added the call to MakeZombie in the second TClonesArray > constructor. Thanks for this remark. > > Rene Brun > > On Wed, 9 Apr > 2003, Sebastien Greder wrote: > > > Hello, > > > > I'm facing a small problem concerning the TClonesArray constructor : > > > > I create a TClonesArray with the usual constructor : > > > > TClonesArray* aclone = new TClonesArray("aclassname",100) ; > > > > If the classname is not known by ROOT (i.e gROOT->GetClass("classname") > > fails) one gets the message : "classname is not a valid clas name" > > and MakeZombie() is called . > > > > Since I want to test if the TClonesArray has been successfuly built , that > > means not only have a message but be able to stop my prog somehow I > > decided to test the TClonesArray by : aclone->IsZombie() but this doesn't > > work, so to sum up the code : > > > > TClonesArray* trackarray = 0 ; > > TClonesArray* muonarray = 0; > > .... > > > > trackarray = InitArrays(track_branch,trackarray,"Track") ; > > muonarray = Init... > > > > TClonesArray* InitArrays(TBranchElement* abranch, > > TClonesArray* aclonesarray, > > TString aclassname) > > { > > if(abranch) { > > aclonesarray = new TClonesArray(aclassname.Data(),100) ; > > if(aclone->IsZombie()) return 0 ; > > else { > > tree->SetBranchAddress(abranch->GetName(),&aclonesarray); > > return aclonesarray ; > > } > > } > > else { > > cout << "couldn't find branch" << endl ; > > return 0 ; > > } > > } > > > > Am I doing something wrong ? > > > > Thanks for help, > > > > seb. > > > > ps : by the way the second constructor of TClonesArray : > > TClonesArray(const TClass *cl,....) > > > > does not have the call MakeZombie() if cl is NULL, just a message error > > > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET