GEANT4学习 一些小技巧
记录一些使用中的小技巧
1. 更改随机数种子
在主文件中加入以下语句
G4Random::setTheEngine(new CLHEP::MTwistEngine);
G4long seed=time(NULL);
CLHEP::HepRandom::setTheSeed(seed);
这样每次运行的时候会根据当前的时间来设置随机数种子。
2. 输出文件名添加当前时间
原语句
ofstream outfileEDEP("./data/EDEP.txt");
后面为了多次模拟并且有所区分,加了当时的时间进去。
#include <ctime>
time_t now = time(0);
const char* dt = ctime(&now);
G4String dts = dt;
G4String filePath = "./data/EDEP"+dts+".txt";
ofstream outfileEDEP(filePath);
这样就会带着时间信息。
输出文件名为:
EDEPThu Jul 1 15:19:47 2021.txt
3. Ubuntu系统下文件拷贝问题
问题描述:使用U盘或者硬盘拷贝超大的GEANT4数据(txt格式),经常遇到拷贝过来的文件很大,但是读不出东西。
刚开始发现,文件都变成二进制文件了,甚至有的是前半部分是正常的,后面就变二进制。
之后拷贝的时候等久一点再推出U盘(虽然系统早就告诉我拷贝完成了),就好了。
猜测是拷贝完系统还在转码。