问题标签 [geant4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
309 浏览

c++ - 从 Geant4.sln 构建安装时出现 Geant4 错误

我在使用 vs2010 和 geant4 4.10 的 windows 7 64 位安装 geant4 时遇到了一个大问题 使用 cmake 一切正常,但是当涉及到大约 3000 行时,在 Geant4.sln 中构建 INSTALL 软件包时会引发错误:

错误

什么可能导致此错误?编辑:我在 cmake_install 中改变了这个

有了这个:

错误在某些方面发生了变化,不是在形式上,而是在编译器开始构建 INSTALL 包之后出现。

0 投票
1 回答
55 浏览

python - 向 G4TessellatedSolid 添加构面

我正在尝试从 Python 向 G4TessellatedSolid 添加一个方面。

我已经定义了一个扩展 G4TriangularFacet 的类 MyG4TriangularFacet,即类定义是

并且相关的构造函数是

尝试使用它的 python 代码看起来像

我尝试将它添加到 G4TessellatedSolid

但我收到以下错误

现在我的印象是 G4TriangularFacet 实现了虚函数 G4VFacet。不是这样吗?

AddFacet 期望将指针传递给 G4VFacet 的问题是什么?不确定如何在 Python 中实现这一目标

0 投票
1 回答
235 浏览

cmake - CMake:不使用 /usr/lib64/libXmu.so

我是 CMake 和 Geant4 的新手。我正在尝试使用它们构建一个项目。另外,我正在远程集群中工作。当 Icmake时,没有错误。但是当我做make我得到的错误是,

然而,

给出:

由于它是一个远程集群,我无法使用名称“libXmu.so”进行链接(在请求集群权限后,仍然没有用),但我可以链接到我的本地目录。

现在我的问题是我应该在 cmake 中做什么,它会libXmu.so在我的本地目录中查找,而不是/usr/lib64/libXmu.so

0 投票
1 回答
223 浏览

windows - 在安装软件后寻找一种更好的方法来从批处理文件中设置 Windows 环境变量

我正在构建一个 Windows .bat 脚本来自动编译和安装 CERN 的 Geant4 工具包(但我的以下问题与我要处理的软件无关)。到目前为止我设法做的似乎工作正常,但我对在脚本末尾设置环境变量的方式不满意。

要完成安装,我必须设置环境变量以指示所需数据集的路径,以及 C++ 包含和库目录(我选择为这些文件修改“PATH”变量)。我想为当前脚本(使用set命令)和下一次执行(使用setx命令)设置它们

我现在使用的脚本如下:

路径%G4_bat_file_dir%\install\lib;%G4_bat_file_dir%\install\bin;%G4_bat_file_dir%\xerces-c\instal\bin;%G4_bat_file_dir%\xerces-c\instal\lib;%G4_bat_file_dir%Qt4\install\bin;%G4_bat_file_dir%Qt4\install\lib是我要附加的路径。

这是我在运行脚本 2 次后获得的环境变量设置的屏幕截图:

http://djienne.free.fr/env.png

这远非理想,有几件事我不满意:

  • 变量中的所有路径都被完全使用,然后 PATH 变量也变得太长,我收到错误“警告:正在保存的数据被截断为 1024 个字符”。

  • 如果我连续两次运行脚本,它会在 PATH 条目中产生重复项(并且超过 1024 个字符限制的所有内容都会被截断)

  • 此外,如果我将此代码放在我的主要编译/安装脚本的末尾,它会给出错误'setx' is not recognized as an internal or external command, operable program or batch file.,因此不会创建/修改环境变量。但是,如果我将此脚本作为单独的 .bat 文件运行,它就可以工作。所以有些东西我不明白。(我指定我总是“以管理员身份运行”来运行脚本。)

在此先感谢您的帮助。

0 投票
1 回答
261 浏览

c++ - 在 Ubuntu 18.04 上使用 make 安装 Garfield++ 时出错

我正在尝试安装 garfield++ 以使用我的geant4安装,所以我按照 CERN 提供的安装说明克隆了 git 存储库,但是当我使用 make 时出现此错误:

我在我的个人文件夹中并使用最后一个 ROOT 版本。

谢谢您的帮助。

0 投票
1 回答
2135 浏览

geant4 - 使用 Geant4 运行 exampleB1.exe 时未找到 ENSDFSTATE.dat 文件错误

我是Geant4的新手。我在windlows 10上使用cmake和visual stdio 17安装并构建了GEANT4,现在我正在尝试练习它给定的基本示例,因此,我按照此处给出的教程使用cmake构建第一个示例。示例构建成功并创建了 exampleB1.exe 文件。我已将所有环境变量设置为屏幕截图中给出的安装数据 环境变量

但面临仍然与环境变量有关的问题是错误的截图

输出控制台

我查看了这个 ENSDFSTATE.dat 文件,但无法解决问题。非常感谢任何建议/支持。

0 投票
1 回答
235 浏览

cmake - 带有 MPI 的 Geant4 输入未编译

我正在尝试使用 MPI (G4MPI) 在多个内核中编译 Geant4 输入。但是 make 命令产生以下错误:

虽然我能够在没有 MPI 的情况下编译输入

我的 cmakelist 文件是:

我尝试在命令行末尾使用 -lstdc++ 但没有用

任何建议都会有很大帮助

完整的示例集在链接中: https ://drive.google.com/open?id=1gkvUsilp9wKK3WZ9E8SAEzwVg5nVKrJJ

0 投票
2 回答
150 浏览

c++ - 如何计算和存储向量中目录中的文件

我正在尝试调用给定目录中的所有现有“.stl”文件,并使用它们在 Geant4 中构建我的几何图形。这是一个单独的程序,我在将它添加到我的 Geant4 代码之前对其进行测试。

至于现在,我一直在尝试通过系统命令获取文件数。问题是它总是返回正确数量的文件,32,然后它返回零 (0)。因此,我不能在 for 循环中使用它。此外,当我打印文件时,我有“。” 和“..”,这不是我想要的。

首先,我想将文件的数量存储在 NbOfComponents 中,以便稍后在循环中使用它来调用每个部分。问题是它返回零,可以在输出中看到:

最后一点是它返回“。” 和“..”,据我了解,是目录。这样我就不能从向量 v[i] 中调用它们中的每一个。任何输入将不胜感激,并在此先感谢:)

0 投票
0 回答
203 浏览

cmake - 使用 ccmake 配置安装构建时如何指定最新 cmake 版本的完整路径

我正准备在我的 CentOS 7 上安装 GATE,除了 Geant4,我已经完成了一切。当我尝试构建安装文件并使用 ccmake 进行配置时,像这样

它总是显示 CMake 版本是 2.8.12.2 但不是我安装的最新版本 3.15.3。有人可以帮忙吗?我将非常感谢任何快速响应!

0 投票
0 回答
47 浏览

gcc - 无法在 Ubuntu 18.04 中构建旧版本的 Geant4

我的机器上安装了 Ubuntu 18.04,由于与我之前构建的现有工具的兼容性,我正在尝试安装旧版本的 Geant4(更具体地说是 10.01 和 9.6)。

我注意到,在 Ubuntu 18.04 中,可以无错误构建的最旧的 Geant4 版本是 10.02 及更高版本。较旧的版本(10.01 和 9.6)总是在“make”步骤中返回错误,如下所示:

我的疯狂猜测是与 cmake 和/或 gcc 版本不兼容(?)。例如,在 Ubuntu 16.04 中,我可以毫无错误地构建这些版本,但我想将旧操作系统的安装作为最后一个资源。虚拟机也是如此——蒙特卡洛模拟在处理方面要求很高,根据我的经验,在虚拟机中执行它有点令人沮丧。

我的问题是:

  • 是否可以安装多个版本的 cmake 和/或 gcc?如果是,是否有任何管理多个版本的智能方法?
  • 错误可能来自另一个问题,而不是与 cmake 和/或 gcc 版本不兼容?

我非常感谢一些帮助,因为我遇到了这些安装问题。

提前谢谢了。