CERN ROOT的小小使用说明书

全局对象

该文档中的文字大部分来源于ChatGPT,无法保证信息的准确性

1. gROOT:

  • 头文件:#include "TROOT.h"
  • 用途:ROOT 库的根对象,提供了 ROOT 库的基本功能和全局设置。
  • 常用函数:
    • GetVersion(): 获取 ROOT 库的版本信息。
    • SetBatch(Bool_t batch = kTRUE): 设置 ROOT 应用程序为批处理模式,不显示图形界面。
    • Reset(): 重置 ROOT 库,清空所有已加载的对象和设置。
    • FindObject(const char *name): 在全局范围内查找对象
    • FindObjectAny(const char *name): 在全局范围内查找对象。
    • LoadMacro(const char *macro, Bool_t system=kFALSE, Bool_t *status=NULL): 加载一个 ROOT 宏文件。
    • GetClass(const char *classname): 获取指定类名的 TClass 对象。

    注意分辨与gDirectory的区别
    cd():将当前目录切换到根目录。
    ls():列出根目录下的所有对象。
    DeleteAll(): 删除根目录下的所有对象。

2. gApplication:

  • 头文件:#include "TApplication.h"
  • 用途:ROOT 应用程序管理对象,负责应用程序的生命周期和事件循环。
  • 常用函数:
    • SetReturnFromRun(Bool_t flag): 设置是否从 Run() 方法返回。
    • IsRunning(): 检查 ROOT 应用程序是否正在运行中。
    • Terminate(Int_t status): 终止当前 ROOT 应用程序。
    • Run(): 运行 ROOT 应用程序的事件循环。

3. gPad:

  • 头文件:#include "TPad.h"
  • 用途:ROOT 绘图页面对象,用于绘制图形和设置页面属性。
  • 常用函数:
    • Clear(Option_t *option = ""): 清空当前绘图页面。
    • cd(): 切换到当前绘图页面。
    • Update(): 更新当前绘图页面。
    • SetLogx(Bool_t flag): 设置 X 轴的对数坐标。
    • SetLogy(Bool_t flag): 设置 Y 轴的对数坐标。

4. gRandom:

  • 头文件:#include "TRandom.h"
  • 用途:ROOT 随机数生成器对象,用于生成随机数。
  • 常用函数:
    • Rndm(): 生成一个介于 [0, 1) 之间的随机数。
    • Uniform(Double_t xmin, Double_t xmax): 生成一个均匀分布在 [xmin, xmax] 区间内的随机数。
    • Gaus(Double_t mean, Double_t sigma): 生成一个符合高斯分布的随机数。
    • Binomial(Int_t n, Double_t p): 生成一个符合二项分布的随机数。
    • Poisson(Double_t mean): 生成一个符合泊松分布的随机数。
    • Exp(Double_t tau): 生成一个符合指数分布的随机数。

5. gStyle:

  • 头文件:#include "TStyle.h"
  • 用途:ROOT 绘图样式对象,用于设置绘图的样式属性。
  • 常用函数:
    • SetLineWidth(Int_t width): 设置线条宽度。
    • SetLineColor(Color_t color): 设置线条颜色。
    • SetFillColor(Color_t color): 设置填充颜色。
    • SetOptStat(Int_t stat): 设置统计框的显示选项。
    • SetOptTitle(Int_t option): 设置标题的显示选项。
    • SetPalette(Int_t ncolors, Int_t *colors): 设置绘图调色板。
    • SetOptFit(Int_t option): 设置拟合结果的显示选项。

6. gInterpreter:

  • 头文件:#include "TInterpreter.h"
  • 用途:ROOT 解释器对象,用于执行 ROOT 脚本和命令。
  • 常用函数:
    • ProcessLine(const char *line): 执行一行 ROOT 脚本或命令。
    • Declare(const char *name, const char *type): 声明一个全局变量。
    • DeclareFunction(const char *decl, void *(*fcn)(void *), const char *proto, Bool_t isClassMethod = kFALSE): 声明一个全局函数。

7. gDirectory:

  • 头文件:#include "TDirectory.h"
  • 用途:ROOT 文件系统中的目录对象,用于管理文件系统目录结构。
  • 常用函数:
    • mkdir(const char *name): 在当前目录下创建一个子目录。
    • cd(const char *name): 切换到指定名称的目录。
    • ls(): 列出当前目录下的所有对象。
    • GetList(): 获取当前目录下的所有对象的列表。

8. gEnv:

  • 头文件:#include "TEnv.h"
  • 用途:ROOT 库的环境对象,用于管理 ROOT 库的配置和环境变量。
  • 常用函数:
    • GetValue(const char *name, const char *default): 获取环境变量的值。
    • SetValue(const char *name, const char *value): 设置环境变量的值。
    • SaveLevel(Int_t level): 设置保存环境变量的级别。

绘图marker

参考链接

markerstyle设置的方法

TGraph *g1 = new TGraph;
g1->SetMarkerStyle(2); // g1->SetMarkerStyle(kDot); 
g1->SetMarkerColor(1); // g1->SetMarkerColor(kBlack);
g1->SetMarkerSize(2); // scale the marker size

字符对应图标

Marker numberMarker shapeMarker name
1dotkDot
2+kPlus
3*kStar
4okCircle
5xkMultiply
6small dotkFullDotSmall
7medium dotkFullDotMedium
8large scalable dotkFullDotLarge
9 -->19large scalable dot
20full circlekFullCircle
21full squarekFullSquare
22full triangle upkFullTriangleUp
23full triangle downkFullTriangleDown
24open circlekOpenCircle
25open squarekOpenSquare
26open triangle upkOpenTriangleUp
27open diamondkOpenDiamond
28open crosskOpenCross
29full starkFullStar
30open starkOpenStar
31*
32open triangle downkOpenTriangleDown
33full diamondkFullDiamond
34full crosskFullCross
35open diamond crosskOpenDiamondCross
36open square diagonalkOpenSquareDiagonal
37open three trianglekOpenThreeTriangles
38octagon with crosskOctagonCross
39full three triangleskFullThreeTriangles
40open four triangleXkOpenFourTrianglesX
41full four triangleXkFullFourTrianglesX
42open double diamondkOpenDoubleDiamond
43full double diamondkFullDoubleDiamond
44open four triangle+kOpenFourTrianglesPlus
45full four triangle+kFullFourTrianglesPlus
46open cross XkOpenCrossX
47full cross XkFullCrossX
48four squares XkFourSquaresX
49four squares+kFourSquaresPlus

样式

在这里插入图片描述

颜色

在这里插入图片描述

注意空心边线的粗细似乎仅能在TAttMarker::SetMarkerStyle()中设置

示意图如下在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值