5#ifndef CBM_RICH_MIRROR_MISALIGNMENT_CORRECTION_UTILS
6#define CBM_RICH_MIRROR_MISALIGNMENT_CORRECTION_UTILS
50 LOG(info) <<
"CbmRichProjectionProducerAnalytical::Init() No correction table.";
63 if (!corrFile.is_open()) {
64 Fatal(
"CbmRichMirrorMisalignmentCorrectionUtils::"
65 "CheckMirrorCorrectionParameterFile:",
66 "Wrong correction parameter path given!");
73 string mirrorID =
"", fileLine =
"";
74 Double_t misX = 0., misY = 0.;
77 if (corrFile.is_open()) {
78 LOG(info) <<
"CbmRichProjectionProducerUtils::CheckMirrorCorrectionParameterFile("
79 ") Correction table used at: "
81 cout <<
"mirrorID: \t\t\t (misY, misX): " << endl;
82 while (corrFile >> mirrorID >> misY >> misX) {
83 cout << mirrorID <<
" \t ; \t(" << misY <<
", " << misX <<
")" << endl;
84 mirrorCorrectionParamMap[mirrorID] = std::make_pair(misX, misY);
89 Fatal(
"CbmRichMirrorMisalignmentCorrectionUtils::"
90 "ReadAndStoreMirrorCorrectionParam:",
91 "Wrong correction parameter path given!");
94 cout << endl <<
"Mapping:" << endl;
95 cout <<
"mirrorID: \t\t\t (misY, misX): " << endl;
96 for (std::map<
string, std::pair<Double_t, Double_t>>::iterator it =
99 cout << it->first <<
" \t ; \t(" << it->second.first <<
", " << it->second.second <<
")" << endl;
class checks correction parameter file containing mirror misalignment information.
std::map< string, pair< Double_t, Double_t > > fMirrorMisalignmentCorrectionParameterMap
bool GetMirrorCorrectionParamBool()
void ReadAndStoreMirrorCorrectionParamMap(std::map< string, std::pair< Double_t, Double_t > > &mirrorCorrectionParamMap)
std::map< string, std::pair< Double_t, Double_t > > GetMirrorCorrectionParamMap()
void Init(const string &s)
Initialization in case one needs to initialize some TCloneArrays.
virtual ~CbmRichMirrorMisalignmentCorrectionUtils()
Destructor.
string fPathToMirrorMisalignmentCorrectionParameterFile
bool CheckMirrorCorrectionParameterFile()
void SetMirrorCorrectionParameterFile(const string &s)
CbmRichMirrorMisalignmentCorrectionUtils()