Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
Style.h
1/*
2 * Style.h
3 *
4 * Created on: 27 wrz 2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_FEATURES_HIST_STYLE2_H_
10#define HAL_FEATURES_HIST_STYLE2_H_
11
12#include <array>
13#include <map>
14#include <utility>
15#include <vector>
16
17#include <RtypesCore.h>
18#include <TH1.h>
19#include <TString.h>
20
21class TGraph;
22class TVirtualPad;
23namespace Hal {
24 class MultiGraph;
25 class XMLNode;
33 class Style {
34 private:
35 union value {
36 Float_t sFval;
37 Int_t sIval;
38 };
39 std::array<Hal::Style::value, 64> fValues;
40 ULong64_t fFlags = {0};
41
42 protected:
43 void SetF(Int_t bit, Float_t val);
44 void SetI(Int_t bit, Int_t val);
45 Float_t GetF(Int_t bit) const { return fValues[bit].sFval; }
46 Int_t GetI(Int_t bit) const { return fValues[bit].sIval; }
47
48 public:
49 Style() {};
55 Bool_t Find(Int_t bit) const { return TESTBIT(fFlags, bit); }
56 Style& operator=(const Style& style) = default;
62 void ExportToXML(XMLNode* node) const;
68 virtual ~Style() {};
69 ClassDef(Style, 1);
70 };
71
72
73} // namespace Hal
74
75
76#endif /* HAL_FEATURES_HIST_STYLE_H_ */
Bool_t Find(Int_t bit) const
Definition Style.h:55
void ImportFromXML(XMLNode *node)
void ExportToXML(XMLNode *node) const