// // Note: one MUST use this code as (pre)compiled (e.g. by ACLiC) because // the "storage" class inherits from a compiled class ("TObject"): // root [0] .L breakingExample.C++ // root [1] breakingExample(); // #include #include #include #include #include #include class storage : public TObject { public: TTree* tree; storage() { tree = 0; } ClassDef(storage, 1); // my storage class }; void breakingExample() { TFile* file = TFile::Open("breaking.root", "RECREATE"); storage stor; TClonesArray* datum = new TClonesArray("TVector3", 10); stor.tree = new TTree("tree", "tree"); stor.tree->SetDirectory(0); // make it "memory resident, unregistered" stor.tree->Branch("brName", "TClonesArray", &datum, 256000, 99); std::cout<<"point_0"<Uniform(-10., 10.), gRandom->Uniform(-10., 10.), gRandom->Uniform(-10., 10.)); } stor.tree->Fill(); } stor.Write("my_storage_object"); file->Close(); std::cout<<"point_1"<Get("my_storage_object"); std::cout<<"point_3"<tree->SetBranchAddress("brName", &datum); std::cout<<"point_4"<tree->GetEntries(); ++i) { std::cout<<"point_5 ... "<tree->GetEntry(i); std::cout<<"point_6"<Print(); } } file->Close(); }