Hi, Create classes instead of struct as shown below Rene Brun #include "TTree.h" #include "TFile.h" #include "TRandom.h" class SmdPeak { public: Float_t peakPos; Float_t peakEnerg; Float_t sigmaPeak; Int_t corSimuPeak; bool used; SmdPeak() {} ClassDef (SmdPeak,1) }; class FitEvent { public: UInt_t runnumber; Int_t event; Int_t numbXPeaks; Int_t numbYPeaks; Float_t tower[4][3]; Float_t smdX[61]; Float_t smdY[101]; SmdPeak xPeak[4]; ClassDef(FitEvent,1) }; void struct2() { TFile f("struct.root","recreate"); TTree T("T","test struct"); FitEvent *event = new FitEvent; T.Branch("first","FitEvent",&event); for (Int_t i=0;i<1000;i++) { event->event = i; event->runnumber = (UInt_t)(100*gRandom->Rndm()); //for (Int_t j=0;j<event.count;j++) event.meas[j] = i+j; T.Fill(); } T.Print(); T.Show(45); T.Write(); } On Wed, 20 Nov 2002, Yiqun Wang wrote: > Hi, > > Is there a way to create a branch that is an array of C structure? The > online reference on > > TBranch(const char *name, void *address, const char *leaflist, Int_t > basketsize, Int_t compress) :TNamed(name,leaflist) > > only talked about a C structure branch. > > My header file is like this: > > > typedef struct{ > Float_t peakPos; > Float_t peakEnerg; > Float_t sigmaPeak; > Int_t corSimuPeak; > bool used; > } SmdPeak; > > typedef struct{ > > UInt_t runnumber; > Int_t event; > Int_t numbXPeaks; > Int_t numbYPeaks; > Float_t tower[4][3]; > Float_t smdX[61]; > Float_t smdY[101]; > SmdPeak xPeak[4]; > SmdPeak xPeak[4]; > } FitEvent; > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:20 MET