10 #ifndef LMD_LMDSENSORALIGNMENT_PNDLMDALIGNQA_H_ 11 #define LMD_LMDSENSORALIGNMENT_PNDLMDALIGNQA_H_ 20 #include <TGeoMatrix.h> 37 std::vector<std::string> _inputFiles;
38 std::string outputPath, pdfOutPath, binaryMatPath, LMDMatPath;
40 bool infoAbsolute, infoRelative, byPlane, _inCentimeters;
47 std::map<int, int> matrixInfo;
50 std::map<std::string, TGeoHMatrix> *matricesMisaligned;
52 void createHist(std::vector<std::vector<double>> &vec,
histParams ¶meters);
54 double calculateOverlappingArea(
int id1,
int id2);
56 int noOfPairs(
int overlapID);
66 void checkCyclicMatrices(
bool inCentimeters =
true);
67 void checkCombinedMatrices(
bool inCentimeters =
true);
70 std::map<std::string, TGeoHMatrix> *readRootMatrices(TString &filename);
71 TGeoHMatrix baseTransformation(TGeoHMatrix &input, TGeoHMatrix &toBaseMatrix);
72 TGeoHMatrix getMatrixSensorToSensor(
int sensorOne,
int sensorTwo);
75 TGeoHMatrix getMisalignedOverlapFromICP(
PndLmdOverlapInfo &info, std::string ICPmatrix);
76 std::vector<double> getMatrixDiffCM(
PndLmdOverlapInfo &info, std::string &icpFile);
77 PndLmdOverlapInfo &getSmallOverlapInfo(std::vector<PndLmdOverlapInfo> &infos,
int smallOverlap);
79 void readMatrixInfo();
81 bool checkForMatrixFiles();
82 void calculateOverlapingAreas();
void setPdfOutPath(const std::string &path)
void setInfoRelative(bool info)
void setInfoMomentum(double info)
void setInfoAbsolute(bool info)
void setLmdMatPath(const std::string &path)
void setInCentimeters(bool inCentimeters)
void setOutputPath(std::string path)
void setPairsRequired(int number)
void setBinaryMatPath(const std::string &path)
void setAlignedGeometry(bool aligned)