ARTEMIS-CRIB
 
Loading...
Searching...
No Matches
TCmdDraw.cc
Go to the documentation of this file.
1/**
2 * @file TCmdDraw.cc
3 * @brief
4 * @author Kodai Okawa <okawa@cns.s.u-tokyo.ac.jp>
5 * @date 2023-06-13 18:57:52
6 * @note last modified: 2024-08-23 21:37:11
7 * @details under development
8 */
9
10#include "TCmdDraw.h"
11
12#include <TCatHistManager.h>
13#include <TCatPadManager.h>
14#include <TF1.h>
15#include <TView3D.h>
16
18
20
21const char *TCmdDraw::kFuncNameBase = "f";
22const char *TCmdDraw::kLabelNameBase = "l";
23
25 SetName("draw");
26 SetTitle("drawing object");
27}
28
30
31Long_t TCmdDraw::Cmd(vector<TString> tokens) {
32 Int_t n = tokens.size();
33 Int_t id;
34 if (n == 1) {
35 id = TCatHistManager::Instance()->GetId();
36 } else {
37 id = tokens[1].Atoi();
38 }
39
40 TObject *obj = TCatHistManager::Instance()->GetObject(id);
41 if (obj && (obj->InheritsFrom("TH1"))) {
42 TCatPadManager::Instance()->GetCanvas();
43 TCatHistManager::Instance()->DrawObject(id, tokens.size() > 2 ? tokens[2] : "");
44 return 1;
45 } else if (obj->InheritsFrom("TGraph")) {
46 TCatPadManager::Instance()->GetCanvas();
47 TCatHistManager::Instance()->DrawObject(id, tokens.size() > 2 ? tokens[2] : "ap");
48 return 1;
49 } else if (obj->InheritsFrom("TMultiGraph")) {
50 TCatPadManager::Instance()->GetCanvas();
51 TCatHistManager::Instance()->DrawObject(id, tokens.size() > 2 ? tokens[2] : "ap");
52 gPad->BuildLegend(0.78, 0.70, 0.95, 0.95, "", "p");
53 return 1;
54 //} else if (obj->InheritsFrom("TCanvas")) {
55 // TCatPadManager::Instance()->GetCanvas();
56 // TCatHistManager::Instance()->DrawObject(id, tokens.size() > 2 ? tokens[2] : "ap");
57 // return 1;
58 } else if (obj && obj->InheritsFrom("TGeoVolume")) {
59 TCatPadManager::Instance()->GetCanvas();
60 TView3D *vw1 = (TView3D *)TView::CreateView(1);
61 vw1->SetRange(-500., -500., -500., 500., 500., 500.);
62 vw1->SetPerspective();
63 vw1->ShowAxis();
64 TCatHistManager::Instance()->DrawObject(id, tokens.size() > 2 ? tokens[2] : "same");
65 gPad->Update();
66 return 1;
67 } else {
68 std::cout << "Invalid object" << std::endl;
69 }
70
71 return 1;
72}
73
75 std::cout << "almost same with ht command"
76 << "(to draw not TH1 object)"
77 << std::endl;
78}
ClassImp(TCmdDraw)
Long_t Cmd(vector< TString >) override
Definition TCmdDraw.cc:31
static const char * kLabelNameBase
Definition TCmdDraw.h:27
~TCmdDraw() override
Definition TCmdDraw.cc:29
static const char * kFuncNameBase
Definition TCmdDraw.h:26
void Help() override
Definition TCmdDraw.cc:74
return to the guide