버전에 대한 이해

버전에 대한 이해

Geant4의 버전을 읽는 법과 의미를 알아봅니다.


Geant? Geant4?

공식적으로 발표된 바에 따르면, 숫자 4를 포함한 Geant4까지가 풀네임입니다.

과거 Fortran 기반의 몬테칼로 입자수송 코드였던 GEANT-3를 C++ 기반의 객체지향적 구조로 개선하여 개발한 것이 Geant4 입니다.

1998년에 최초로 Geant4.0.0 버전을 출시하였으며, 이 당시에는 숫자 4가 버전의 일부였다고 합니다.

현재에는 Geant4 까지를 풀네임으로 하고 있으며, 그 뒤에 버전명을 따로 붙여 부르고 있습니다.


Geant4 버전 읽는 법

출시된 Geant4 버전 목록은 Geant4 다운로드 페이지에서 All releases를 누르면 확인할 수 있습니다.

Geant4 Versions

Geant4의 버전은 3가지 숫자로 구성됩니다.

  • Major Version
  • Minor Version
  • Patch Number

예를 들어 Geant4-11.0.1은 앞에서부터 Major Version 11, Minor Version 0, Patch Number 1이 됩니다.

Major Version

Major Version 번호는 Geant4에서 구조적/기능적으로 큰 변화가 있을 때 변경됩니다.

예를 들자면, Geant4 9.x -> 10.x 에서는 대표적으로 Multi-threading에 관한 대규모 변경사항이 있었습니다.

Geant4 10.x -> 11.x 에서는 기반이 되는 C++ 버전이 C++ 17로 변경되었고, G4String, G4AnalysisManager 클래스의 변경과 더불어 Optical light에 관한 사항이 대거 변경되었습니다.

Minor Version

Minor Version 번호는 주기적으로 이루어지는 Geant4의 기본적인 업데이트에 따른 버전 변화입니다.

Geant4 10.x로 올라오면서부터는 1년 주기로 Minor Version Update를 공개하겠다고 하였으며, 실제로 10.3정도부터는 거의 매 년 말(12월 경)마다 새로운 Minor Version Update가 공개되고 있습니다.

따라서, 반드시 패치노트를 통해 사용하는 클래스에 변경점이 있는지 확인하여 코드를 수정해야 합니다.

Patch Number

Patch Number는 사소한 버그 등의 패치를 포함합니다. 대개 하나의 Minor Version 내에서 3~4회 정도의 Patch가 이루어집니다.

패치노트를 확인하여 사용하고 있는 기능에 변경점이 있다면 업그레이드를 하시고, 관련된 사항이 없다면 굳이 안하셔도 됩니다.

Beta Release

매 해 Minor Version Update가 이루어지기 전에, 해당 버전에 대한 테스트 버전(beta)이 출시됩니다.

신규 기능을 빨리 이용해보고 싶으시다면, beta 버전을 받아 테스트 해보실 수 있습니다.

다만, 개발 중인 관계로 코드의 신뢰도는 다소 낮을 수 있으니 논문 등에의 활용은 지양하시기 바랍니다.