当前位置: 首页 > article >正文

Gate学习(4) 指令学习1

 一、control目录下指令

 ls /control   #查看control下指令

 输出结果如下图

1. **macroPath**
   - 命令:`/control/macroPath /path/to/macros:/usr/local/gate/macros`
   - 说明:这个命令用于设置Gate在搜索宏文件时的路径列表,多个路径之间用冒号分隔。这允许用户在不同的目录中存放宏文件,并通过一个命令访问它们。

2. **execute**
   - 命令:`/control/execute myMacro.mac`
   - 说明:此命令用于执行一个名为`myMacro.mac`的宏文件,该文件包含一系列预定义的Gate命令,可以一次性执行这些命令,而不必逐一输入。

3. **loop**
   - 命令:`/control/loop 5 myMacro.mac`
   - 说明:`loop`命令用于重复执行一个宏文件多次。在这个例子中,`myMacro.mac`宏文件将被执行5次,这在需要批量处理或重复任务时非常有用。

4. **foreach**
   - 命令:`/control/foreach [1,2,3] myMacro.mac`
   - 说明:`foreach`命令用于对一个列表中的每个元素执行一个宏文件。在这个例子中,`myMacro.mac`将分别使用参数1、2、3执行,这允许用户对不同的参数值进行批量操作。

5. **suppressAbortion**
   - 命令:`/control/suppressAbortion`
   - 说明:此命令用于抑制程序因异常而终止。在调试或测试时,这可以防止程序在遇到错误时立即退出,允许用户查看错误信息或进行进一步的调试。

6. **verbose**
   - 命令:`/control/verbose`
   - 说明:`verbose`命令用于增加命令的详细输出。当此命令被激活时,所有后续的命令执行都会在屏幕上显示,这有助于用户跟踪程序的执行过程和状态。

7. **useDoublePrecision**
   - 命令:`/control/useDoublePrecision`
   - 说明:此命令用于设置在打印参数值时使用双精度格式。这对于需要高精度数值输出的科学计算和数据分析非常有用。

8. **saveHistory**
   - 命令:`/control/saveHistory commandHistory.txt`
   - 说明:`saveHistory`命令用于将用户在Gate会话中执行的所有命令保存到一个文件中。这有助于用户记录和回顾他们的操作历史,便于复查和复现结果。

9. **stopSavingHistory**
   - 命令:`/control/stopSavingHistory`
   - 说明:此命令用于停止将命令历史保存到文件。如果用户不希望继续记录他们的操作,可以使用此命令来停止历史记录。

10. **alias**
    - 命令:`/control/alias list /gate/actor/stat/save`
    - 说明:`alias`命令用于为一个或多个命令创建一个简短的别名。在这个例子中,`list`被设置为`/gate/actor/stat/save`命令的别名,使得用户可以通过输入`list`来快速执行统计数据的保存操作。

11. **unalias**
   - 命令:`/control/unalias list`
   - 说明:此命令用于删除一个已经设置的别名。在这个例子中,如果之前创建了一个名为`list`的别名,这个命令将删除它,使得`list`不再代表任何命令。

12. **listAlias**
   - 命令:`/control/listAlias`
   - 说明:`listAlias`命令用于显示当前所有已设置的别名。这有助于用户查看和回顾所有自定义的别名,确保他们记得每个别名代表的命令。

13. **getEnv**
   - 命令:`/control/getEnv PATH`
   - 说明:`getEnv`命令用于获取操作系统环境变量的值,并将其设置为一个别名。在这个例子中,`PATH`环境变量的值被获取并设置为一个别名,允许用户在Gate中使用`PATH`来引用这个环境变量。

14. **getVal**
   - 命令:`/control/getVal /gate/version`
   - 说明:`getVal`命令用于获取一个Gate命令的当前值,并将其设置为一个别名。在这个例子中,Gate的版本号被获取并设置为一个别名,用户可以通过这个别名快速访问版本信息。

15. **echo**
   - 命令:`/control/echo The simulation is running.`
   - 说明:`echo`命令用于在屏幕上显示一条消息或参数值。这个命令在调试或需要向用户显示某些信息时非常有用。

16. **shell**
   - 命令:`/control/shell ls -l`
   - 说明:`shell`命令用于执行一个操作系统的shell命令。在这个例子中,`ls -l`命令被执行,显示当前目录下的文件列表。

17. **manual**
   - 命令:`/control/manual`
   - 说明:`manual`命令用于显示所有子目录和命令的手册。这有助于用户了解Gate中所有可用的命令和它们的用途。

18. **createHTML**
   - 命令:`/control/createHTML`
   - 说明:`createHTML`命令用于生成所有子目录和命令的HTML文档。这有助于用户创建一个本地的文档库,方便离线查阅。

19. **maximumStoredHistory**
   - 命令:`/control/maximumStoredHistory 1000`
   - 说明:`maximumStoredHistory`命令用于设置存储命令历史的最大数量。在这个例子中,命令历史的最大存储量被设置为1000条,防止历史记录无限增长。

20. **if**
   - 命令:`/control/if { [ /gate/version ge 8.0 ] } { /control/execute newFeatures.mac }`
   - 说明:`if`命令用于在表达式为真时执行一个宏文件。在这个例子中,如果Gate的版本号大于或等于8.0,将执行`newFeatures.mac`宏文件。

21. **doif**
   - 命令:`/control/doif { [ /gate/version ge 8.0 ] } /gate/actor/addActor newActor`
   - 说明:`doif`命令用于在表达式为真时执行一个UI命令。在这个例子中,如果Gate的版本号大于或等于8.0,将添加一个名为`newActor`的新演员。

二、 lunits目录下指令

 ls /units

1. **查看可用单位**
   - 命令:`/units`
   - 说明:此命令用于管理和查看Gate中使用的单位系统。通过执行此命令,用户可以获取Gate中所有可用的单位及其相关信息。

2. **获取特定单位信息**
   - 命令:`/units/<unit_name>`
   - 说明:用户可以通过指定单位名称来获取该单位的详细信息。例如,`/units/cm`可以获取厘米单位的详细信息。

3. **转换单位**
   - 命令:`/units/convert <value> <from_unit> <to_unit>`
   - 说明:此命令用于将一个数值从一个单位转换到另一个单位。例如,`/units/convert 100 cm mm`将100厘米转换为毫米。

4. **列出所有单位**
   - 命令:`/units/list`
   - 说明:此命令用于列出Gate中定义的所有单位。这有助于用户了解Gate支持的所有单位类型。

5. **设置默认单位**
   - 命令:`/units/setDefault <unit_name>`
   - 说明:用户可以通过此命令设置默认的单位。例如,`/units/setDefault mm`将毫米设置为默认长度单位。

三、profiler目录下的指令

ls /profiler

 Sub-directories:

1. **/profiler/output/**
   - 控制性能分析器的输出模式。在这个子目录下,您可以设置性能分析结果的输出格式和详细程度。

2. **/profiler/run/**
   - 在 G4Run(GEANT4 运行级别)控制性能分析器。这里可以设置与整个运行相关的性能分析选项。

3. **/profiler/event/**
   - 在 G4Event(GEANT4 事件级别)控制性能分析器。这里可以设置与单个事件相关的性能分析选项。

4. **/profiler/track/**
   - 在 G4Track(GEANT4 轨迹级别)控制性能分析器。这里可以设置与粒子轨迹相关的性能分析选项。

5. **/profiler/step/**
   - 在 G4Step(GEANT4 步进级别)控制性能分析器。这里可以设置与粒子步进相关的性能分析选项。

6. **/profiler/user/**
   - 在用户代码中控制性能分析器。这里可以设置与用户自定义代码相关的性能分析选项。

Commands:

1. **tree**
   - 命令:`/profiler/tree`
   - 说明:此命令用于以调用栈层次结构的形式显示性能分析结果,这有助于理解函数之间的调用关系。

2. **flat**
   - 命令:`/profiler/flat`
   - 说明:此命令用于以平面调用栈的形式显示性能分析结果,这有助于快速查看所有函数的执行时间,而不关注它们的调用顺序。

3. **timeline**
   - 命令:`/profiler/timeline`
   - 说明:此命令用于显示性能分析结果,不合并在同一调用栈位置上的重复条目。可以与 `tree` 或 `flat` 命令结合使用,以提供更详细的时间线视图。

4. **per_thread**
   - 命令:`/profiler/per_thread`
   - 说明:此命令用于为每个线程单独显示性能分析结果。默认情况下,结果可能会被聚合显示。

5. **per_event**
   - 命令:`/profiler/per_event`
   - 说明:此命令用于为每个 G4Event单独显示性能分析结果。默认情况下,结果可能会被聚合显示。

`/profiler/run/`  
这个路径指向性能分析器在G4Run级别的控制命令。G4Run级别指的是GEANT4模拟中的一个完整的运行周期,通常包含多个事件(G4Event)。

1. **enable**
   - 命令:`/profiler/run/enable`
   - 说明:此命令用于启用G4Run级别的性能分析。启用后,性能分析器将记录每个G4Run的度量数据,允许用户分析整个模拟运行的性能。

2. **components**
   - 命令:`/profiler/run/components`
   - 说明:此命令用于设置在每个G4Run中记录的度量类型。`timemory-avail -s`是一个相关命令,用于列出所有可用的度量类型。用户可以根据需要选择记录哪些度量类型,例如CPU时间、内存使用等。


 


http://www.kler.cn/a/407278.html

相关文章:

  • C++ 编程指南05 - 编译时检查优于运行时检查
  • 丹摩|重返丹摩(下)
  • ssm面向品牌会员的在线商城小程序
  • SpringBoot多环境+docker集成企业微信会话存档sdk
  • Java LinkedList 详解
  • 04 —— Webpack打包CSS代码
  • Python BeautifulSoup 常用语句详解
  • MySql四种事务隔离级别以及使用什么隔离级别可以解决幻读
  • 游戏引擎学习第20天
  • Android中的依赖注入(DI)框架Hilt
  • 【案例】泛微.齐业成助力北京中远大昌汽车实现数电票全流程管理
  • 关于相机选型的一些参数说明
  • 从ES的JVM配置起步思考JVM常见参数优化
  • Git 多仓库提交用户信息动态设置
  • 定时器的小应用
  • 先安装Ubuntu20.04,再安装win10实现双系统
  • 从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
  • (Java并发编程——JUC)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!
  • AI编程和AI绘画哪个更适合创业?
  • TDK推出第二代用于汽车安全应用的6轴IMU
  • 【模块一】kubernetes容器编排进阶实战之pod生命周期、探针简介、类型及示例
  • PageHelper 分页total失效或当前页含数量不匹配问题解决方案 含原理分析
  • 博图unified Wincc自定义控件-json自动更新导航栏
  • 「Mac玩转仓颉内测版30」基础篇10 - 区间类型详解
  • CSS3_媒体查询(十一)
  • WPF触发器