next up previous contents
: 射影(PROX または PROY) : プロットをいじくる : プロットをいじくる   目次

プロットのリスト

プロットをいじる前にどのプロットをいじるか知る必要がある。


  gDirectory->ls();
とすれば、現在ディレクトリーにある 名前つきオブジェクト(${\tt TNamed}$ の子孫)の リストが見られる。

ROOT のプロットは全て ${\tt TNamed}$ クラスから派生している。 つまりおのおの名前がついており、ポインターを失っても 探すことが可能だ。 例えば、 ${\tt ''MyPlot''}$ などという名前のついた 倍精度型の1次元ヒストグラムの場合は、


  TH1D *h1 = (TH1D *)gROOT->FindObject("MyPlot");
などとすれば、ポインターを知ることができる。 これは

  ((TH1D *)gROOT->FindObject("MyPlot"))->Draw();
などとできることを意味する。

これに対する ROOT 独特のショートカットとして


  MyPlot->Draw();
も許される。 が、悪い習慣が身についてしまうといけないので、 初めのうちはちゃんとした C++ を使うように した方が良いと思う。 この便利さの誘惑は抗し難いが。

逆にポインターを知っていれば


  cout << h2->GetName() << endl;
とすれば名前が分かる。

ヒストグラムを含む ROOT のファイルを


  TFile *file = new TFile("hogehoge.root");
のようにロードした場合は、

  file->ls();
とすることでもリストが得られる。


next up previous contents
: 射影(PROX または PROY) : プロットをいじくる : プロットをいじくる   目次
Keisuke Fujii 平成12年12月22日