class Waveform{ public: double x[1024]; double y[1024]; Waveform(){}; }; class Event : public TObject{ public: vector w; ClassDef(Event, 1); } ClassImp(Event) void macro(){ TFile *outputFile = new TFile("output.root","RECREATE"); TTree *tree = new TTree("tree","treeliberated tree"); Int_t nevent = 2; Int_t noWaveforms = 3; //it is not used in this case Event* e = new Event; TRandom3 generator; tree -> Branch("waveform", &e); for(Int_t iev = 0; iev < nevent; iev++){ double marInterv = (double) 2*TMath::Pi()/1023; for(int i = 0; iw.push_back(Waveform()); while(current <= 2*TMath::Pi() + marInterv){ e->w[i].x[counter] = current; e->w[i].y[counter] = a*TMath::Sin(current); current = current + marInterv; counter++; } } tree -> Fill(); e->w.clear(); } tree -> Write(); tree -> StartViewer(); TCanvas *canv = new TCanvas(); canv -> cd(1); tree -> Draw("w.y:w.x"); outputFile->Close(); }