Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
UniqueOptions.h
1/*
2 * UniqueOptions.h
3 *
4 * Created on: 17 lut 2024
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HAL_FEATURES_UNIQUEOPTIONS_H_
10#define HAL_FEATURES_UNIQUEOPTIONS_H_
11
12#include <TObject.h>
13#include <TString.h>
14#include <vector>
18namespace Hal {
19
20 class UniqueOptions : public TObject {
21 std::vector<TString> fOpts;
22 std::vector<std::vector<TString>> fConflicts;
23 void OverwriteTag(TString newStr, TString oldStr);
24
25 public:
26 UniqueOptions() {};
31 void AddConflicts(std::initializer_list<TString> list);
39 Bool_t AddTag(TString tag, Bool_t overwrite = kTRUE);
45 Bool_t RemoveTag(TString tag);
51 Bool_t CheckTag(TString tag) const;
52 virtual void Print(Option_t* option = "") const;
53 virtual ~UniqueOptions() {};
54 ClassDef(UniqueOptions, 1)
55 };
56
57} /* namespace Hal */
58
59#endif /* HAL_FEATURES_UNIQUEOPTIONS_H_ */
Bool_t CheckTag(TString tag) const
Bool_t RemoveTag(TString tag)
void AddConflicts(std::initializer_list< TString > list)
Bool_t AddTag(TString tag, Bool_t overwrite=kTRUE)