24 Legend(TObjArray* array, std::string entries, std::string opt, std::string title=
"", Int_t nEntries = 0, std::string name=
"");
25 Legend(std::string obj, std::string entries, std::string opt, Int_t nEntries, std::string name=
"");
26 Legend(std::string entries, Int_t nEntries, std::string name=
"");
33 static void SetPosition(TLegend* l, Float_t x1, Float_t x2, Float_t y1, Float_t y2);
34 void SetPosition(Float_t x1, Float_t x2, Float_t y1, Float_t y2);
50 Legend::Legend(TObjArray* array, std::string entr, std::string opt, std::string title, Int_t nEntries, std::string name): TLegend(0.1, 0.7, 0.3, 0.9),
55 std::cout <<
"\033[1;31mERROR:\033[0m Array is empty! Try again!" << std::endl;
59 std::istringstream entries(entr);
60 std::istringstream options(opt);
62 TString* option =
new TString();
63 TString* entryName =
new TString();
65 if (title !=
"") AddEntry((TObject*)0x0, title.data(),
"");
66 if (name !=
"") fName = name;
69 while (TObject* obj = iArray()) {
71 if (obj->InheritsFrom(
"TPave"))
continue;
73 option->ReadToken(options);
74 entryName->ReadLine(entries);
76 AddEntry(obj, entryName->Data(), option->Data());
78 if (array->IndexOf(obj) == nEntries-1)
break;
87 Legend::Legend(std::string obj, std::string entr, std::string opt, Int_t nEntries, std::string name): TLegend(0.1, 0.7, 0.3, 0.9),
91 if (name !=
"") fName = name;
93 std::istringstream objects(obj);
94 std::istringstream entries(entr);
95 std::istringstream options(opt);
97 TString* option =
new TString();
98 TString* entryName =
new TString();
99 TString*
object =
new TString();
101 TString*
color =
new TString();
102 TString* marker =
new TString();
103 TString* size =
new TString();
105 for(Int_t entry = 0; entry < nEntries; entry++){
107 object->ReadLine(objects);
108 std::istringstream token(object->Data());
110 color ->ReadToken(token);
111 marker->ReadToken(token);
112 size ->ReadToken(token);
114 option->ReadToken(options);
115 entryName->ReadLine(entries);
117 dummy[entry] =
new TH1C();
120 AddEntry(
dummy[entry], entryName->Data(), option->Data());
127 Legend::Legend(std::string entr, Int_t nEntries, std::string name): TLegend(0.1, 0.7, 0.3, 0.9),
131 if (name !=
"") fName = name;
133 std::istringstream entries(entr);
134 TString* entryName =
new TString();
136 for(Int_t entry = 0; entry < nEntries; entry++){
138 entryName->ReadLine(entries);
140 AddEntry((TObject*)0x0, entryName->Data(),
"");
150 if (name !=
"") fName = name;
151 fPrimitives =
new TList();
152 TIter prim(lgnd.fPrimitives);
153 while(TObject* entry = prim()){
154 fPrimitives->Add(entry);
162 if (name !=
"") fName = name;
163 fPrimitives =
new TList();
164 TIter prim(lgnd->fPrimitives);
165 while(TObject* entry = prim()){
166 fPrimitives->Add(entry);
void SetPositionAuto()
Definition: Legend.h:194
const Legend * GetLegendPointer() const
Return pointer to class object.
Definition: Legend.h:32
Structure for saving RGB colors.
Definition: Color.h:18
std::vector< TH1 * > dummy
Vector for holding dummy markers.
Definition: Legend.h:37
Legend()
Default constructor.
Definition: Legend.h:44
static void SetPosition(TLegend *l, Float_t x1, Float_t x2, Float_t y1, Float_t y2)
Definition: Legend.h:172
static void SetPlottjectProperties(PO *pobj, Color_t color, Style_t mstyle, Size_t msize=3., Style_t lstyle=1, Size_t lwid=2., std::string title="")
Definition: PlotBase.h:231
Class for additional legend functionality, mainly additional constructors.
Definition: Legend.h:19
Legend * GetLegendPointer()
Return pointer to class object.
Definition: Legend.h:31