原文链接:
https://opengate.readthedocs.io/en/latest/installation.html
2.1. 关于GATE的一些信息
2.1.1. GATE邮件列表
鼓励您参加对话,并在Gate-users邮件列表(用户的GATE邮件列表)上发布您的建议甚至实施方法。您可以通过注册Gate-users邮件列表来订阅Gate-users邮件列表。
如果您有一个问题,则可能之前曾有人问过并回答过该问题,它们存储在存档中。这些存档是公开的,并由搜索引擎索引。在Google搜索中搜索字符串site: lists.opengatecollaboration.org,您会在Gate用户邮件列表上获得所有与搜索内容匹配的列表,例如 site: lists.opengatecollaboration.org fanbeam。
2.1.2. GitHub上的GATE项目
GATE项目现已在GitHub上公开可用。 您可以用它来:
· 查看最新开发版本
· 通过创建新事项来报告错误。(如果您不能完全确定所报告的内容就是Gate中的错误,请首先检查Gate用户的邮件列表。)
· 通过更改源代码修复错误或实现新功能来为Gate做出贡献:
△ 如果您还没有帐户,请在GitHub上获取一个(免费)帐户。
△ 如果尚未安装Git,请在进行开发的计算机上安装Git。并确保使用您的姓名和电子邮件地址配置git。
△ 首先创建一个GATE公共存储库的分支(在GitHub的Gate主页上单击右上角的“Fork”按钮。
△ 注意,我们使用develop分支来收集所有的前沿开发,并使用master来跟踪发布。将来,我们可能会合并这两者,并且仅使用master,就像在GitHub上其他大多数项目中所做的那样。版本是使用“tags”定义的。
△ 然后克隆您自己的fork:git clone https://github.com/YOUR_USERNAME/Gate.git以在计算机上获取代码,您将使用该代码来开发和编译Gate。
△ 制作一个新分支,专用于要在Gate中实现的错误修正或新功能。您可以先在GitHub上创建分支,然后将其git拉到您的克隆中,或者直接在您的克隆中创建它,然后再git push到它。确保您的分支基于develop分支。请注意,创建分支后,您还需要将其签出。
△ 使用git branch -l,您可以检查克隆中哪些分支可用以及当前已检出哪个分支。使用git checkout <分支名称>,您可以在分支之间进行切换。当您仍有未提交的更改时,请小心不要这样做(除非您有意撤消那些更改)。
△ 现在:实施您的错误修正或新功能,然后将更改提交到新分支。通常,进行多个小型提交要比单个大型提交更好(尽管当然,也希望每个提交都使代码处于可编译状态)。请提供简明扼要的提交信息!使用git push将您的提交上传到GitHub(您的fork)上。这有利于在多台机器上进行开发,并且还避免了在不幸的硬件故障情况下浪费时间和精力。
△ 如果您在修复或新功能上花费了更长的时间,例如几天、几周甚至几个月,那么确保fork与upstream存储库保持同步非常重要。
△ 一旦确信代码可以正常运行,请确保将其全部推送到GitHub上。
△ 然后:
- 创建从Gate仓库中的分支到正式Gate仓库的pull-request;
- 提供一个测试您新功能的示例;
- 如果您实现了一项新功能,请准备好相关文档;
- 通知组织者中这三个人(Sebastien Jan,David Sarrut和David
Boersma),然后他们将与您联系,将您的更改集成到官方库中。
△ 对于您的下一个错误修正或新功能,无需创建新的fork,您可以使用现有的fork。但是在进行任何新工作之前,您应该确保将fork中的developer分支与“upstream”(主)develop分支同步:
- 使用git remote -v检查你的“remote repositories”
- “origin”存储库应该是您自己在GitHub的分支,https://github.com/YOUR_USERNAME/Gate
- “upstream”存储库应该是主要的Gate,即https://github.com/OpenGATE/Gate
- 如果您的克隆还没有“upstream”,则使用git remote添加到其中。
https://github.com/OpenGATE/Gate。 - 运行git status以确保您签出了develop分支,并运行了git
pull来确保它与GitHub上的fork同步并且没有未提交的编辑。 然后在上游运行git fetch, - 然后进行git fetch upstream,接下来是git merge upstream/develop。
- 现在您可以为新的错误修正和功能创建新的分支。
有关git的更多详细参考资料、方法和教程,请访问网站。复制命令时,记住在Gate中,“develop”分支当前扮演了“master”分支。我们的“master“分支用于跟踪发布。您不能通过它找到最新的代码。我们可能会在不久的将来改变此策略,以符合一般约定。
2.1.3. 在Linux上安装GATE
本节介绍GATE的安装过程。包括三个步骤:
· 安装Geant4
· 安装ROOT
· 安装GATE
本节首先简要介绍建议的配置,然后简要介绍Geant4的安装,最后说明在Linux上安装GATE。
应该强调的是,取决于外部组件(库或软件包)的功能只有在安装了相应的组件后才能被激活。在激活功能之前,用户应检查是否已安装了这些组件。除与GATE密切相关的Geant4外,用户应参考外部组件的安装指南。
此外,在安装Geant4本身之前,您还应该安装任何想要使用的Geant4帮助器,尤其是OpenGL(如果需要)。您可以下载源代码并编译库,也可以下载可用于许多平台编译器的预编译软件包。如果选择或必须编译软件包,则需要:
· C++编译器(足够新,可以编译C++ 11标准代码)
· GNU版本的make
· CMAKE工具(3.3或更高版本)
后期处理或使用GATE在线绘图的话(启用各种模拟参数和实时结果的可视化)也可能需要ROOT数据分析包。ROOT可用于许多平台,并且可以在ROOT主页上找到各种预编译的软件包。如果您的gcc编译器是版本6或更高版本,则应使用最新的ROOT 6版本。
GATE网站上也提供了LMF和ecat7软件包。它们为您的仿真提供了不同的输出格式。注意,此代码非常旧,Gate组织不支持此代码,仅按“原样”提供。对于较新的编译器,您可能需要进行一些较小的改动(例如,对于ECAT,可能需要添加编译器标志以选择C90标准)。
2.1.4. 安装包要求
编译软件通常需要某些系统库和编译工具。此外,GATE和Geant4有各种软件包要求,在安装或编译之前必须满足这些要求。当前已为Ubuntu 14.04(及更高版本)和SuSE Leap 42.3创建了列表。 访问“安装包要求”页面以获取详细的安装包清单。
2.1.5. 使用MacPorts在OS X上安装
可以按照之前在Linux上的安装说明将GATE安装在Mac OS X上。另一种方法是通过MacPorts(http://www.macports.org/)使用以下命令来安装Gate:
sudo port install gate
除了Gate命令之外,这还将安装一个独立的应用程序:
/Applications/MacPorts/Gate.app
感谢Mojca Miklavec的贡献。
2.2. GATE编译及安装
2.2.1. 推荐配置
对于9.0版,建议的配置如下:
· Geant4 10.6(http://geant4.web.cern.ch/geant4/support/download.shtml),向下与10.5版本兼容。
· GateRTion 1.0 版本,非常类似于Gate 8.1,只能使用Geant4 10.03.p03构建。
· CMake最低版本:3.3(具有SSL支持)
2.2.2. 编译说明
2.3. 安装验证
如果安装完成之后,你能通过输入
Gate
来运行GATE,说明你安装成功了。
无论如何,在进行任何研究之前,强烈建议您验证安装。
请参阅验证安装以获取基准和更多信息。
2.4. 其他网站
· G4 Agostinelli S et al 2003 GEANT4 -仿真工具包 Nucl. Instr. Meth. A506 250-303 GEANT4网站: http://geant4.web.cern.ch/geant4/
· CLHEP - 高能物理类库: http://proj-clhep.web.cern.ch
· OGL OpenGL主页: http://www.opengl.org
· DAWN release: http://geant4.kek.jp/
· ROOT Brun R, Rademakers F 1997 ROOT - 面向对象的数据分析框架 Institute Nucl. Instr. Meth. A389 81-86 ROOT website: http://root.cern.ch
· libxml 网站: http://www.libxml.org