이번 프로그램은 눈으로 볼 수 있는 데이터에 집중하기 위해서 첫번째 프로그램의 결과로 부터 변형하였다.
첫 시작점으로 전자기장의 효과를 확실하게 볼 수 있도록 detector의 모양을 원통형으로 바꾸고 진공으로 채웠다. 또 Primary Generator Action은 General Particle Source 를 이용하여 이벤트를 만들도록 바꾸었다. 지금까지 가이드를 잘 따라왔다면 변경점을 쉽게 이해할 수 있을 것이라고 생각한다.
한가지 새로운 점은 Visualization Attribute 를 Detector Construction에서 적용한 점이다. Visualization Attribute 를 번역하면 시각 속성 정도가 되겠다. 바로 코드를 보자.
auto visat_world = new G4VisAttributes(); visat_world -> SetColor(G4Colour::Green()); visat_world -> SetForceWireframe(true); logic_world -> SetVisAttributes(visat_world); auto visat_detector = new G4VisAttributes(); visat_detector -> SetColor(G4Colour(0.8,0.8,0.8,0.3)); logic_detector -> SetVisAttributes(visat_detector);
Visualization Attribute 를 적용하는 방식은 시각 속성을 정의하는 G4VisAttributes 클래스를 만들고 원하는 속성을 적용한 후에 Logical Volume에 적용하는 방식이다. SetForceWireframe() 함수는 아래 그림에서 볼 수 있듯이 볼륨의 모서리만 그리도록 한다. G4Colour 의 경우 Green() 함수와 같이 바로 정의된 색을 사용하는 것도 가능하며 G4Colour(0.8,0.8,0.8,0.3) 와 같이 R, G, B, [투명도] 순으로 사용자가 직접 색을 정의 하는 것도 가능하다.