#include <Riostream.h>
#include "TClonesArray.h"
#include "TH1F.h"
#include "TCanvas.h"
#include "TString.h"


class MyTest: public TObject{

private:
  TCanvas *cshow;
  TString fHistoName;
  TClonesArray fContainerTest;

public:
  MyTest();
  ~MyTest();
  void FillContainer();
  void DrawContainer();

  ClassDef(MyTest,0)
};


ClassImp(MyTest)

MyTest::MyTest(){
  fContainerTest = TClonesArray("TH1F",1000);
}

MyTest::~MyTest(){
  fContainerTest.Delete();
}

void MyTest::FillContainer(){

  cout << "Ciao" << endl;
  
  //   // Filling
  for(Int_t nh=0;nh<10;nh++){
    fHistoName.Form("Histogram_%d",nh);
    new (fContainerTest[nh]) TH1F(fHistoName,fHistoName,100,-2,2);
    ((TH1F *)fContainerTest[nh])->FillRandom("gaus",10*(100+nh));
  }
}
  
void MyTest::DrawContainer(){
  // Drawing
  cshow = new TCanvas("ShowCanvas","Show Canvas",10,10,900,700);
  cshow->Divide(5,2);
  for(Int_t nh=0;nh<10;nh++){
    cshow->cd(nh+1);
    ((TH1F *)fContainerTest[nh])->Draw();
  }
}



//_________________________________
void TestTClonesArray_Class(){
  
  MyTest *cont_test = new MyTest();
  cont_test->FillContainer();
  cont_test->DrawContainer();
}

