12 #ifndef LMD_LMDSENSORALIGNMENT_PNDLMDALIGNMANAGER_H_
13 #define LMD_LMDSENSORALIGNMENT_PNDLMDALIGNMANAGER_H_
17 #include <boost/property_tree/ptree.hpp>
18 #include <boost/property_tree/json_parser.hpp>
25 #include <TGeoMatrix.h>
33 typedef std::map<int, PndLmdSensorAligner>::iterator
mapIt;
108 void loadBar(
int current,
int total,
int resolution,
int width, std::string message =
"");
121 _singleAligner = singleAligner;
137 static int searchFiles(std::string curr_directory, std::vector<std::string> &list,
138 std::string extension =
"",
bool includeSubDirs =
true);
144 static int searchDirectories(std::string curr_directory, std::vector<std::string> &list,
145 bool includeSubDirs =
true);
146 static bool mkdir(std::string path);
148 static std::vector<std::string>
findRegex(std::string source, std::string regex);
166 bool replaceExisting =
true);
177 for (
auto &
a : aligners) {
178 a.second.verboseLevel(_verboseLevel);
183 if (NmaxThreads < 0 || NmaxThreads > 256) {
187 maxThreads = NmaxThreads;
void setMatrixOutDir(std::string directory)
std::mutex geometryHelperMutex
std::vector< std::string > fileNames
void runSensorAligner(PndLmdSensorAligner &aligner)
bool addFile(std::string filename)
void setInCentimeters(bool inCentimeters)
std::string binaryPairFileDirectory
void waitForCompletion(PndLmdThreadPool &threadPool)
void setOutFilename(const std::string &filename)
bool checkForLmdMatrixFiles()
static TGeoHMatrix readTGeoHMatrix(std::string filename)
std::map< int, bool > alignersFull
static int searchDirectories(std::string curr_directory, std::vector< std::string > &list, bool includeSubDirs=true)
static int searchFiles(std::string curr_directory, std::vector< std::string > &list, std::string extension="", bool includeSubDirs=true)
bool addPairAndStartAligner(PndLmdHitPair &pair, PndLmdThreadPool &threadPool)
std::map< int, PndLmdSensorAligner > aligners
static bool mkdir(std::string path)
void setSingleAligner(bool singleAligner)
static Matrix castTGeoHMatrixToMatrix(const TGeoHMatrix &matrix)
bool readPairsFromBinaryFilesAndAlign()
static std::string makeBinaryPairFileName(int overlapId=0, bool incentimeters=true)
static std::vector< std::string > findRegex(std::string source, std::string regex)
void setZasTimestamp(bool timestamp)
bool checkForBinaryFiles()
static void clearScreen()
void loadBar(int current, int total, int resolution, int width, std::string message="")
std::map< int, PndLmdSensorAligner >::iterator mapIt
static bool writeMatrix(Matrix &mat, std::string filename)
static boost::property_tree::ptree readConfigFile(std::string filename)
void setMaxThreads(int NmaxThreads=0)
static std::string makeMatrixFileName(int overlapId=0, bool incentimeters=true)
void verboseLevel(int verbose)
static bool exists(std::string file)
void verbosePrint(std::string input, int level=3)
static bool writeConfigFile(boost::property_tree::ptree configTree, std::string filename, bool replaceExisting=true)
bool writePairsToBinaryFiles()
void setBinaryPairFileDirectory(const std::string &directory)
virtual ~PndLmdAlignManager()
static Matrix readMatrix(std::string filename)
int addFilesFromDirectory(std::string directory, int maxFiles=0)
void setMaxPairs(int maxPairs)
static std::vector< std::vector< double > > readFromCSVFile(std::string filename)