8 cout <<
"reding file: " << filename <<
"\n";
9 TFile *misalignmentMatrixRootfile =
new TFile(filename.c_str(),
"READ");
10 if (misalignmentMatrixRootfile->IsOpen()) {
11 std::map<std::string, TGeoHMatrix> *matrices;
12 gDirectory->GetObject(
"PndLmdMisalignMatrices", matrices);
13 misalignmentMatrixRootfile->Close();
14 cout <<
"read " << matrices->size() <<
" matrices from file.\n";
17 cout <<
"file could not be read\n";
25 double thisMatrixDoubles[16];
26 TGeoHMatrix thisMatrix;
28 for (
auto &path : matrices) {
29 thisMatrix = path.second;
30 thisMatrix.GetHomogenousMatrix(thisMatrixDoubles);
33 thisMatrixDoubles[0], thisMatrixDoubles[1], thisMatrixDoubles[2], thisMatrixDoubles[12],
34 thisMatrixDoubles[4], thisMatrixDoubles[5], thisMatrixDoubles[6], thisMatrixDoubles[13],
35 thisMatrixDoubles[8], thisMatrixDoubles[9], thisMatrixDoubles[10], thisMatrixDoubles[14],
36 thisMatrixDoubles[3], thisMatrixDoubles[7], thisMatrixDoubles[11], thisMatrixDoubles[15]};
40 cout <<
"save " << j.size() <<
" matrices to json!\n";
41 std::ofstream o(outfilename.c_str());
42 o << std::setw(2) << j << std::endl;
47 cout <<
"starting...\n";
50 std::map<std::string, TGeoHMatrix> rootMatrices = *(
readRootMatrices(filename));
53 cout <<
"saving " << filename <<
" to json file!\n";
59 cout <<
"You must specify a file name!\n";
std::map< std::string, TGeoHMatrix > * readRootMatrices(std::string filename)
void saveMatricesToJson(std::map< std::string, TGeoHMatrix > matrices, std::string outfilename)
void convertRootMatricesToJSON(std::string filename)
main function