全局对象
该文档中的文字大部分来源于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 number | Marker shape | Marker name |
---|---|---|
1 | dot | kDot |
2 | + | kPlus |
3 | * | kStar |
4 | o | kCircle |
5 | x | kMultiply |
6 | small dot | kFullDotSmall |
7 | medium dot | kFullDotMedium |
8 | large scalable dot | kFullDotLarge |
9 -->19 | large scalable dot | |
20 | full circle | kFullCircle |
21 | full square | kFullSquare |
22 | full triangle up | kFullTriangleUp |
23 | full triangle down | kFullTriangleDown |
24 | open circle | kOpenCircle |
25 | open square | kOpenSquare |
26 | open triangle up | kOpenTriangleUp |
27 | open diamond | kOpenDiamond |
28 | open cross | kOpenCross |
29 | full star | kFullStar |
30 | open star | kOpenStar |
31 | * | |
32 | open triangle down | kOpenTriangleDown |
33 | full diamond | kFullDiamond |
34 | full cross | kFullCross |
35 | open diamond cross | kOpenDiamondCross |
36 | open square diagonal | kOpenSquareDiagonal |
37 | open three triangle | kOpenThreeTriangles |
38 | octagon with cross | kOctagonCross |
39 | full three triangles | kFullThreeTriangles |
40 | open four triangleX | kOpenFourTrianglesX |
41 | full four triangleX | kFullFourTrianglesX |
42 | open double diamond | kOpenDoubleDiamond |
43 | full double diamond | kFullDoubleDiamond |
44 | open four triangle+ | kOpenFourTrianglesPlus |
45 | full four triangle+ | kFullFourTrianglesPlus |
46 | open cross X | kOpenCrossX |
47 | full cross X | kFullCrossX |
48 | four squares X | kFourSquaresX |
49 | four squares+ | kFourSquaresPlus |
样式
颜色
注意空心边线的粗细似乎仅能在TAttMarker::SetMarkerStyle()
中设置
示意图如下