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)