スタック領域
関数を呼び出すとき、もとの関数でのローカル変数などの情報を一時的に保存しておく領域
ヒープ領域
newやmallocなどで確保する領域
粒子の位置を再構成したグラフとかに、検出器を一緒に描こうと思ってTArcとか使ってみたら、描く順番によってはTArcのほうが上に来ちゃってデータ点が上塗りされてしまってうざいなって思うことがありました。そういう時は、
obj->SetFillStyle(0);
とやると円弧の中身の部分?が透明になってデータ点が消えたりしないので描く順番とか気にしないで良くなる。
あと、円弧の中心から伸びる直線も邪魔だなって時は描くときに
obj->Draw("only");
で、弧だけ描ける。
struct 構造体タグ名 {メンバたち};
struct 構造体タグ名 構造体変数名;
例
struct date { int year; int month; int day; }; struct date d = {2014, 5, 15}; cout << "Today is "d.year << "/" << d.month << "/" << d.day << endl;
出力は
Today is 2014/5/15
となる。Cの場合struct書くのめんどいときtypedefするけどC++はしなくてもいいのでたいていstruct書かない。
構造体のメンバはすべて公開される。C++で、classとstructの違いはこれくらい
TCanvasはなにかとDrawする必要があるが、出てきた画像を見ることが目的ではない場合、立ち上がる画面はただただ邪魔であるので
gROOT->SetBatch();
としてバッチモードで実行するとキャンバスが立ち上がらない
同じビン、最大値、最小値のヒストグラムをたくさん作りたいとき、
例えば
TH1D* h[10]; for(int i=0;i<10;i++){ h[i] = new TH1D(Form("h[%d]",i), bin, min, max); }
てなかんじでForm使うと簡潔に書ける。
研究棟が停電してたとか、なんかの拍子にFedora19が入ったPCが変になったぽくて、sshでは入れるけどディスプレイになにも出てこない状態がしばらく続いてた。
そこで再起動してみると、ログイン画面までは行くんだけどログインした後に画面が硬直する。CUIでは操作できるっぽい。
調べるとGNOMEが入っていないというか消えてしまっているというか、でまあインストールしようと
って打つんだけどこんなもんないって言われる。
さらに困ったんだけどどうもこの"GNOME Desktop Environment"っていうものは、最近 "Desktop" で通じるらしく
$ sudo yum groupinstall "Desktop"
とするとインストールが始まる。
終わったら、
$ startx
ってやったらGUIのデスクトップの設定画面が立ち上がった。
なんかいろいろ最初からしないといけないっぽいけど一応解決しました