#include #include #include #include class TH1Wrapper : public TNamed { public: TH1Wrapper() : TNamed("TH1Wrapper","TH1Wrapper"), fMyHisto(0) {/*fMyHisto=new TH1F("myhisto","myhisto",100,0,100);*/} ~TH1Wrapper() {if(fMyHisto) delete fMyHisto;} TH1* GetHisto() {return fMyHisto;} protected: TH1* fMyHisto;// My histogram to be streamed private: TH1Wrapper(const TH1Wrapper& obj); TH1Wrapper& operator=(const TH1Wrapper& obj); ClassDef(TH1Wrapper, 1); }; void TestTH1Streamer() { //TH1::AddDirectory(kFALSE); TH1Wrapper *wrap = new TH1Wrapper(); TFile *file = new TFile("file.root","recreate"); file->cd(); wrap->Write(); file->Close(); delete file; file = 0; delete wrap; wrap = 0; }