class Waveform{ public: double x[1024]; double y[1024]; }; class Event : public TObject{ public: Waveform * w; Event(int noWaveforms){ w = (Waveform*) malloc(noWaveforms * sizeof(Waveform)); } ClassDef(Event, 1); } ClassImp(Event) void task_dyn(){ TFile *outputFile = new TFile("output.root","RECREATE"); TTree *tree = new TTree("tree","treeliberated tree"); Int_t nevent = 2; Int_t noWaveforms = 2; Event* e = new Event(noWaveforms); TRandom3 generator; tree -> Branch("waveform", &e); for(Int_t iev = 0; iev < nevent; iev++){ double marInterv = (double) 2*TMath::Pi()/1023; for(Int_t i = 0; iw[i].x[counter] = current; e->w[i].y[counter] = a*TMath::Sin(current); current = current + marInterv; counter++; } } tree -> Fill(); } tree -> Write(); outputFile->Close(); }