ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTabInfo.cxx
Go to the documentation of this file.
1 #include "AtTabInfo.h"
2 
3 #include <FairLogger.h> // for Logger, LOG
4 
5 constexpr auto cRED = "\033[1;31m";
6 constexpr auto cYELLOW = "\033[1;33m";
7 constexpr auto cNORMAL = "\033[0m";
8 constexpr auto cGREEN = "\033[1;32m";
9 constexpr auto cBLUE = "\033[1;34m";
10 
11 void AtTabInfo::AddAugment(std::shared_ptr<AtTabInfoBase> augment)
12 {
13  if (augment == nullptr)
14  return;
15 
16  AddAugment(augment, augment->GetDefaultName());
17 }
18 
19 void AtTabInfo::AddAugment(std::shared_ptr<AtTabInfoBase> augment, std::string name)
20 {
21  if (augment == nullptr)
22  return;
23 
24  if (fInfoAugments.find(name) != fInfoAugments.end())
25  LOG(error)
26  << "AtTabInfo augment " << name
27  << "already exists in this AtTabInfo. If replacement is intentional, use AtTabInfo::ReplaceAugment() instead.";
28 
29  ReplaceAugment(augment, name);
30 }
31 
32 void AtTabInfo::ReplaceAugment(std::shared_ptr<AtTabInfoBase> augment)
33 {
34  if (augment == nullptr)
35  return;
36  ReplaceAugment(augment, augment->GetDefaultName());
37 }
38 void AtTabInfo::ReplaceAugment(std::shared_ptr<AtTabInfoBase> augment, std::string name)
39 {
40  if (augment == nullptr)
41  return;
42  fInfoAugments[name] = augment;
43 }
44 
46 {
47  if (fInfoAugments.find(name) == fInfoAugments.end())
48  return nullptr;
49  else
50  return fInfoAugments.at(name);
51 }
cNORMAL
constexpr auto cNORMAL
Definition: AtTabInfo.cxx:7
cRED
constexpr auto cRED
Definition: AtTabInfo.cxx:5
AtTabInfo::ReplaceAugment
void ReplaceAugment(BasePtr augment)
Definition: AtTabInfo.cxx:32
AtTabInfo::GetAugment
BasePtr GetAugment(std::string name)
Definition: AtTabInfo.cxx:45
AtTabInfoBase::GetDefaultName
virtual std::string GetDefaultName()=0
Default name for info type.
cBLUE
constexpr auto cBLUE
Definition: AtTabInfo.cxx:9
cGREEN
constexpr auto cGREEN
Definition: AtTabInfo.cxx:8
AtTabInfo::AddAugment
void AddAugment(BasePtr augment)
Definition: AtTabInfo.cxx:11
AtTabInfo::fInfoAugments
std::map< std::string, BasePtr > fInfoAugments
Definition: AtTabInfo.h:56
AtTabInfo::BasePtr
std::shared_ptr< AtTabInfoBase > BasePtr
Definition: AtTabInfo.h:53
cYELLOW
constexpr auto cYELLOW
Definition: AtTabInfo.cxx:6
AtTabInfo.h