데이터 파일이 덮어 씌워지는 것을 방지 하기 위해서 다음과 같은 업데이트를 적용해 보자.
기본 아이디어
- 시뮬레이션의 내용이 커질 수록 컴파일이 오래걸리기 때문에 데이터 파일의 이름을 바꾸기 위해서 컴파일을 다시 하지 않는 것을 목표로 한다.
- 시뮬레이션의 변경을 위해서 Geant4 매크로 파일을 새로 생성하거나, 이름을 바꾸거나, 내용을 바꾸는 것은 컴파일을 필요하지 않는다.
- 데이터 파일의 이름을 [매크로 파일 이름].[확장자]가 되도록 한다. 예를 들어서 AnaylsisManager의 데이터 포멧이 root일 때, Geant4 매크로 파일의 이름이 "myrun" 이라면 데이터 파일의 이름은 "myrun.root" 가 된다.
변경내용
- 새로운 매크로 myrun을 생성. 이를 CMakeList.txt 에 추가하여 build 폴더로 복사해올 수 있도록 함.
- OTRunAction 클래스에서 파일 이름을 위한 맴버 변수 fName 과 이를 위한 생성자 추가/변경.
파일 이름을 설정하지 않을 시 이름을 "data"로 설정.
파일이름을 fName 으로 설정: analysisManager -> OpenFile(fName); - 메인 파일 example.cc 에서 매크로 파일을 입력 받을 시 파일 이름을 OTRunAction 생성자에 넣어줌.
이용 방법
위 업데이트를 적용였을 때 다른 예제와 같이 매크로 파일 myrun 과 함께 실행을 하면
./example myrun
myrun.root 파일이 생성 되는 것을 확인 할 수 있다.
위 파일을 보존한 채로 다른 시뮬레이션을 실행하고 싶다면 myrun을 다른 이름으로 복사해서 실행해 보자.
cp myrun coconut
./example coconut
./example coconut
coconut.root 이 생성되는 것을 확인 할 수 있다.