¥È¥Ã¥×   º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× ¥ê¥í¡¼¥É   °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

¤Ä¤æ¤À¤¯ ¤ÎÊѹ¹ÅÀ

Top / ¤Ä¤æ¤À¤¯
  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ¤Ä¤æ¤À¤¯ ¤Ø¹Ô¤¯¡£

*¤Ä¤æ¤À¤¯ºîÀï [#s89c69c0]
¤Ä¤æ¤À¤¯ºîÀ郎¼«Ê¬¤Î¤Ê¤«¤ÇÀ¹¤ê¾å¤¬¤ê¤ò¤ß¤»¤Æ¤¤¤ë¡ª¤¹¤°¤Ëµ¤»ý¤Á¤¬¤¯¤¸¤±¤ë¤Î¤Ç¡¢¤Ü¤Á¤Ü¤Á¤ä¤ê¤Þ¤¹¡£

#Contents

~
-----

»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¤ê¤·¤¿¥Ú¡¼¥¸¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£~
[[²¬»³ÂçÆâÆ£¤µ¤ó¤Î¥Ú¡¼¥¸:http://fphy.hep.okayama-u.ac.jp/~naitou/online/index.html]]~
[[¿À¸ÍÂç(¤¯¤¹¤â¤È¤µ¤ó¡©)¤ÎÊý¤Î¥Ú¡¼¥¸:http://ppwww.phys.sci.kobe-u.ac.jp/~akusumoto/program/sample.php?lang=root]]

*ROOT¤ÇGUI [#m7aa6f01]
´ðËÜŪ¤Ê¤³¤È¤«¤é¥á¥â¡£

**root¤Î¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Ê¥×¥í¥°¥é¥à [#w24f159e]
C++¤Ç½ñ¤¤¤¿¤ä¤Ä¤ËROOT¤ÎGUI¤òÁȤ߹þ¤à¥¤¥á¡¼¥¸¡£~
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤ËROOT¤ÎCINT¤Ëºî¤ë¥¯¥é¥¹¤òÅÐÏ¿?¤¹¤ëɬÍפ¬¤¢¤ë¤ß¤¿¤¤¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¥Ü¥¿¥ó²¡¤·¤¿¤éȯư¤¹¤ë¥¹¥í¥Ã¥ÈDaq¤µ¤ó¤¬
 slot Daq() does not exist 
¤È¤«¤Ã¤ÆÅܤé¤ì¤ë¡£~
¤ä¤ê¤«¤¿¤Ï¤¿¤È¤¨¤Ð¤³¤¦¡£MyMainFrame¤È¤¤¤¦GUIÍѤΥ¯¥é¥¹¤òºî¤Ã¤¿¤È¤­¤Ë¡¢test.cc¤Ètest.h¤È¤¤¤¦¤Î¤òÄêµÁ¤·¤¿¤È¤¹¤ë¡£¤³¤ó¤È¤­¤Ë¡¢¤¿¤È¤¨¤Ð
 #pragma link C++ class MyMainFrame;
¤È½ñ¤¤¤¿Å¬Åö¤Ê¥Õ¥¡¥¤¥ë(Îã:test_LinkDef.h)¤òºîÀ®¤·¤Æ¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¤¦¤Ä¡£
 rootcint -f test_dict.cc -c test.h test_LinkDef.h
¤½¤¦¤¹¤ë¤È¥Ç¥£¥¯¥·¥ç¥Ê¥êtest_dict.cc¤È¤¤¤¦¥½¡¼¥¹¥³¡¼¥É¤¬¼«Æ°À¸À®¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ì¤ò¤¤¤Ã¤·¤ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤ä¤ë¡£Îã¡£
 g++ -glibs ------(ά) -o test.o test.h test_dict.cc 
 g++ `root-config  ------(ά) ` -o test.o test.h test_dict.cc 
¤³¤ì¤Ç¤¤¤±¤¿¡£~


*ROOTGUI´Ø·¸¤Î¥¯¥é¥¹ [#qa5499f8]
¤ï¤±¤ï¤«¤á¡£¤¤¤ß¤È¤í¤í¡£

**TGTextEntry [#vfa8c26b]
ʸ»úÎóÆþÎϤò¼õ¤±ÉÕ¤±¤ë¥Ü¥Ã¥¯¥¹¤òÀßÃÖ¤¹¤ë¡£~
~
Àë¸ÀÎã¡£
 TGTextEntry *te_pmt = new TGTextEntry(input_frame , "Sugoi PMT" );
input_frame¤¬ÀßÃÖ¤·¤¿¤¤¥Õ¥ì¡¼¥à¡£"Sugoi PMT"¤ÏºÇ½é¤Ëɽ¼¨¤·¤Æ¤ª¤¯Ê¸»úÎó¡£~
¤¿¤È¤¨¤Ð¡¢¤³¤Îʸ»úÎó¤Î¾ì½ê¤òÄ´À°¤·¤¿¤¤¤È¤­¤Ï¡¢
 te_pmt->SetAlignment(kTextRight);
¤Î¤è¤¦¤Ë¤¹¤ë¡£~
¤³¤Î¤È¤­¤ËÆþÎϤ¹¤ë°ú¿ô¤ÏTGWidget::ETextJustification¤ÇÄêµÁ¤µ¤ì¤¿¤â¤Î¤Ç¡¢
 kTextLeft     º¸Â·¤¨
 kTextRight¡¡¡¡±¦Â·¤¨
 kTextCenterX  Ãæ±û·¤¨
 kTextTop      ¾åÊý¤Ë¥Æ¥­¥¹¥È¤òÇÛÃÖ
 kTextBottom   ²¼Êý¤Ë¥Æ¥­¥¹¥È¤òÇÛÃÖ
 kTextCenterY  Ãæ±û¤ËÇÛÃÖ
¤È¤¤¤¦¤è¤¦¤Ê´¶¤¸¡£~



**TGTextButton [#ca850e6a]
¥Ü¥¿¥ó¤Î¤¿¤á¤Î¥¯¥é¥¹¡£~
~
Àë¸ÀÎã
 TGTextButton *daq = new TGTextButton(hframe,"&DAQ Start");
¤³¤ì¤Ï¡¢hframe¤È¤¤¤¦¥Õ¥ì¡¼¥à¤Î¾å¤Ë¥Ü¥¿¥ó¤òºî¤ë¤È¤¤¤¦°ÕÌ£¡£¤½¤Î¥Ü¥¿¥ó¤Ë¤Ï"DAQ Start"¤ÈÆþ¤Ã¤Æ¤¤¤ë¡£&¤Ï¥Û¥Ã¥È¥¹¥È¥ê¥ó¥°²½¤¹¤ë¤Ã¤Æ°ÕÌ£¤Ç¡¢¤³¤ì¤ò¤¹¤ì¤Ð¥Û¥Ã¥È¥­¡¼¤Ë¤Ê¤ë¡£~
 daq->Connect("Clicked()","MyMainFrame",this,"Daq()");
¤³¤ì¤Ç¥·¥°¥Ê¥ë¤ò¥¹¥í¥Ã¥È¤ËÀܳ¤¹¤ë¡£
¤³¤ì¤Ï²¡¤µ¤ì¤¿¤È¤­¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ê¤É¤ò»ØÄꤷ¤Æ¤ä¤ë¤â¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤¿¤È¤¨¤ÐDaq()¤ò¸Æ¤Ó½Ð¤¹¡£~
¥Ü¥¿¥ó¤ÎÂ礭¤µ¤òÊѤ¨¤ë¤È¤­¤Ë¤Ï
 daq->SetMargins(left margin , right , up , down );
¤ò»È¤¦¡£~


**TGLayoutHints [#y1b00363]
¥¦¥£¥¸¥§¥Ã¥È¤Î¥ì¥¤¥¢¥¦¥È¤Î¤¿¤á¤Ë¤è¤¯»È¤¦¥¯¥é¥¹¡£
 TGLayoutHints( ¥ì¥¤¥¢¥¦¥È¥¿¥¤¥×, º¸Â¦¥¹¥Ú¡¼¥¹, ±¦Â¦¥¹¥Ú¡¼¥¹, ¾åÉô¥¹¥Ú¡¼¥¹, ²¼Éô¥¹¥Ú¡¼¥¹ )
¥ì¥¤¥¢¥¦¥È¥¿¥¤¥×¤Ï¤¤¤í¤¤¤íÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤«¤éÁª¤Ö¡£
 kLHintsTop 	¾å·¤¨
 kLHintsBottom 	²¼Â·¤¨
 kLHintsLeft 	º¸Â·¤¨
 kLHintsRight 	±¦Â·¤¨
 kLHintsCenterX	Ãæ±û·¤¨(xÊý¸þ)
 kLHintsCenterY	Ãæ±û·¤¨(yÊý¸þ)
 kLHintsExpandX	x¼´Êý¸þ¤Ë¿­¤Ð¤¹
 kLHintsExpandY	y¼´Êý¸þ¤Ë¿­¤Ð¤¹

Ê£¿ô¤Ä¤Ê¤²¤¿¤¤¤È¤­¤Ï¡Ö|¡×¤Ç¤Ä¤Ê¤°¡£¤¿¤È¤¨¤Ð¡¢
 fMain->AddFrame(fEcanvas , new TGLayoutHints(kLHintsExpandX| kLHintsExpandY,10,10,10,1))
¤È¤«¤¤¤¦¤Õ¤¦¤Ë¥¦¥£¥¸¥§¥Ã¥È¤òÄêµÁ¤¹¤ë¤È¤­¤Ë°ì½ï¤Ë¤è¤¯»È¤¦¡£

**TGNumberEntry [#uab28e01]
¿ô»úÆþÎϥܥ寥¹¤Î¤¿¤á¤Î¥¯¥é¥¹¡£³ÑÅÙ¡¢Æü»þ¡¢16¿Ê¿ô¤Ê¤É¤¤¤í¤¤¤í¤Ê¥¹¥¿¥¤¥ë¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
 kNESInteger¡¡¡¡À°¿ôÃÍ
 kNESRealOne¡¡¡¡¿ô»ú1¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
 kNESRealTwo¡¡¡¡¿ô»ú2¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
 kNESRealThree¡¡¿ô»ú3¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
 kNESRealFour¡¡¿ô»ú4¸Ä¤Î¼Â¿ô(»Ø¿ô¤Ê¤·)
 kNESReal¡¡¡¡¡¡Ç¤°Õ¤Î¼Â¿ô
 kNESDegree¡¡¡¡ÅÙ¡§Ê¬¡§ÉäǤγÑÅ٤Υե©¡¼¥Þ¥Ã¥È
 kNESMinSec¡¡¡¡Ê¬¡§ÉäǤλþ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
 kNESHourMin¡¡¡¡»þ¡§Ê¬¤Ç¤Î»þ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
 kNESHourMinSec¡¡»þ¡§Ê¬¡§ÉäǤλþ´Ö¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
 kNESDayMYear¡¡¡¡Æü¡§·î¡§Ç¯¤Ç¤ÎÆüÉդΥե©¡¼¥Þ¥Ã¥È
 kNESMDayYear¡¡¡¡·î¡§Æü¡§Ç¯¤Ç¤ÎÆüÉդΥե©¡¼¥Þ¥Ã¥È
 kNESHex¡¡¡¡¡¡¡¡16¿Ê¿ô
¤Þ¤¿¡¢Â°À­¤È¤·¤Æ¼¡¤Î¤â¤Î¤¬»ØÄê¤Ç¤­¤ë¡£
 kNEAAnyNumber¡¡¡¡¤É¤ó¤Ê¿ô¤Ç¤âµö¤µ¤ì¤ë
 kNEANonNegative¡¡Éé¤Ç¤Ê¤¤¿ô¤À¤±¤¬µö²Ä¤µ¤ì¤ë
 kNEAPositive¡¡¡¡À°¿ô¤À¤±¤¬µö²Ä¤µ¤ì¤ë
¤µ¤é¤Ë¡¢ÌÀ¼¨Åª¤Ê¸Â³¦¤ò»ØÄê¤Ç¤­¤ë¡£
 kNELNoLimits¡¡¡¡À©¸Â¤Ê¤·
 kNELLimitMin¡¡¡¡²¼¸Â¤Î¤ß»ØÄê
 kNELLimitMax¡¡¡¡¾å¸Â¤Î¤ß»ØÄê
 kNELLimitMinMax¡¡¾å¸Â¡¢²¼¸Â¤È¤â¤Ë»ØÄê

Àë¸À¤Ï¼¡¤Î¤è¤¦¤Ë¹Ô¤¦¡£
 TGNumberEntry *aho = new TGNumberEntry(¿Æ¥¦¥£¥¸¥§¥Ã¥È , 0.005 , 9 ,kENTRY1 , ¥¹¥¿¥¤¥ë , ÆþÎÏÃͤΥե£¥ë¥¿ , ¸Â³¦¤Î»ØÄê , ¸Â³¦ÃÍ);
¶ñÂÎÎã¡£
 TGNumberEntry *aho = new TGNumberEntry(fMain , 0.005 , 9 ,kENTRY1 , TGNumberFormat::kNESRealThree , TGNumberFormat::kNEAAnyNumber , TNumberFormat::kNELLimitMinMax , -1.0 , 1.0);



*DB´Ø·¸ [#r5502d19]
ºÇ¶á¤Îlinux¤Ë¤Ïɸ½àDB¤È¤·¤Æ[[PostgreSQL:http://ja.wikipedia.org/wiki/PostgreSQL]]¤È¤¤¤¦¤Î¤¬Æþ¤Ã¤Æ¤¤¤ë¡£hippopo¤È¤«¤Ë¤âÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ò»È¤Ã¤¿¤é³Ú¤Á¤ó¤«¤Ê¡£~
ÊØÍø¥ê¥ó¥¯¡£->[[atmarkITÏ¢ºÜµ­»ö:http://www.atmarkit.co.jp/flinux/index/indexfiles/postgreindex.html]]~
ʸ¸¥->[[³ÚÅ·:http://item.rakuten.co.jp/book/3629174/]]~
~