1 获取特特定能量范围的特定粒子
E:\examples_understanding\geant4-v11.0.0_note\examples\extended\runAndEvent\RE02
//-- Particle with kinetic energy filter.
G4SDParticleWithEnergyFilter* pkinEFilter =
new G4SDParticleWithEnergyFilter(fltName="gammaE filter",kmin,kmax);
pkinEFilter->add("gamma"); // Accept only gamma.
pkinEFilter->show(); // Show accepting condition to stdout.
2 获取初级粒子或者次级粒子,判断粒子是否还存活
E:\examples_understanding\geant4-v11.0.0_note\examples\extended\runAndEvent\RE05
// check if it is alive
if(theTrack->GetTrackStatus()!=fAlive) { return; }
// check if it is primary
if(theTrack->GetParentID()!=0) { return; }
3 正确理解step
step是在不同物体之间共同计算的,并不是一个volume里面step从0开始算
4 使用histo存储数据,检测step和event里面是有值的,但是最后的histo是空的
可能不是程序问题,把之前的root文件删掉,如果删不掉,就在runAction里面重命名,然后再运行一下,看还是不是空的,我也是很无语,调试一晚上,是因为第一个空的root一直没有被覆盖,。。。
5 Track ID的理解
http://littlepascal.lofter.com/post/322764_cc8c595
是每个粒子独一无二的编号
6 查看当前linux系统里面有多少CPU
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
# 注意,此处查看的线程数是总得线程数,可以理解为逻辑cpu的数量
grep 'processor' /proc/cpuinfo | sort -u | wc -l