FairRoot/PandaRoot
|
#include <PndLmdAlignManager.h>
Public Member Functions | |
PndLmdAlignManager () | |
virtual | ~PndLmdAlignManager () |
void | init () |
bool | addFile (std::string filename) |
void | readFilesAndAlign () |
bool | writePairsToBinaryFiles () |
bool | readPairsFromBinaryFilesAndAlign () |
bool | checkForBinaryFiles () |
bool | checkForLmdMatrixFiles () |
void | clearPairs () |
int | addFilesFromDirectory (std::string directory, int maxFiles=0) |
void | validate () |
void | loadBar (int current, int total, int resolution, int width, std::string message="") |
void | setMaxPairs (int maxPairs) |
void | setSingleAligner (bool singleAligner) |
void | setOutFilename (const std::string &filename) |
void | setMatrixOutDir (std::string directory) |
void | setInCentimeters (bool inCentimeters) |
void | setZasTimestamp (bool timestamp) |
void | setBinaryPairFileDirectory (const std::string &directory) |
void | verboseLevel (int verbose) |
void | setMaxThreads (int NmaxThreads=0) |
Static Public Member Functions | |
static Matrix | castTGeoHMatrixToMatrix (const TGeoHMatrix &matrix) |
static Matrix | readMatrix (std::string filename) |
static TGeoHMatrix | readTGeoHMatrix (std::string filename) |
static bool | writeMatrix (Matrix &mat, std::string filename) |
static std::vector < std::vector< double > > | readFromCSVFile (std::string filename) |
static int | searchFiles (std::string curr_directory, std::vector< std::string > &list, std::string extension="", bool includeSubDirs=true) |
static void | clearScreen () |
static int | searchDirectories (std::string curr_directory, std::vector< std::string > &list, bool includeSubDirs=true) |
static bool | mkdir (std::string path) |
static bool | exists (std::string file) |
static std::vector< std::string > | findRegex (std::string source, std::string regex) |
static bool | writeConfigFile (boost::property_tree::ptree configTree, std::string filename, bool replaceExisting=true) |
static boost::property_tree::ptree | readConfigFile (std::string filename) |
Private Types | |
typedef std::map< int, PndLmdSensorAligner > ::iterator | mapIt |
Private Member Functions | |
bool | allAlignersFull () |
bool | addPairAndStartAligner (PndLmdHitPair &pair, PndLmdThreadPool &threadPool) |
void | runSensorAligner (PndLmdSensorAligner &aligner) |
void | checkIOpaths () |
void | waitForCompletion (PndLmdThreadPool &threadPool) |
void | verbosePrint (std::string input, int level=3) |
Static Private Member Functions | |
static std::string | makeBinaryPairFileName (int overlapId=0, bool incentimeters=true) |
static std::string | makeMatrixFileName (int overlapId=0, bool incentimeters=true) |
Private Attributes | |
std::mutex | MTLBmutex |
std::mutex | geometryHelperMutex |
int | _verboseLevel |
unsigned int | maxThreads |
std::stringstream | _info |
std::map< int, PndLmdSensorAligner > | aligners |
std::map< int, bool > | alignersFull |
bool | _allFilesAdded |
std::vector< std::string > | fileNames |
bool | _singleAligner |
bool | _inCentimeters |
bool | enableHelperMatrix |
bool | _zIsTimestamp |
std::string | outFilename |
std::string | matrixOutDir |
std::string | binaryPairFileDirectory |
bool | _firstInitDone |
bool | _multithreaded |
vector< int > | overlapIDs |
Friends | |
class | PndLmdSensorAligner |
class | PndLmdAlignQA |
Definition at line 31 of file PndLmdAlignManager.h.
|
private |
Definition at line 33 of file PndLmdAlignManager.h.
PndLmdAlignManager::PndLmdAlignManager | ( | ) |
Definition at line 41 of file PndLmdAlignManager.cxx.
References init().
|
virtual |
Definition at line 84 of file PndLmdAlignManager.cxx.
bool PndLmdAlignManager::addFile | ( | std::string | filename | ) |
Definition at line 95 of file PndLmdAlignManager.cxx.
References _allFilesAdded, and fileNames.
int PndLmdAlignManager::addFilesFromDirectory | ( | std::string | directory, |
int | maxFiles = 0 |
||
) |
Definition at line 106 of file PndLmdAlignManager.cxx.
References _allFilesAdded, fileNames, i, and searchFiles().
Referenced by runLumiPixel2fMatrixFinder().
|
private |
Definition at line 667 of file PndLmdAlignManager.cxx.
References aligners, alignersFull, PndLmdHitPair::check(), PndLmdThreadPool::enqueue(), PndLmdHitPair::getOverlapId(), PndLmdHitPair::isSane(), runSensorAligner(), and verbosePrint().
Referenced by readFilesAndAlign().
|
private |
Definition at line 697 of file PndLmdAlignManager.cxx.
References alignersFull, overlapIDs, and verbosePrint().
Referenced by readFilesAndAlign().
|
static |
Definition at line 493 of file PndLmdAlignManager.cxx.
Referenced by readMatrix(), PndLmdSensorAligner::transformToLmdLocal(), and PndLmdSensorAligner::transformToSensorOne().
bool PndLmdAlignManager::checkForBinaryFiles | ( | ) |
Definition at line 562 of file PndLmdAlignManager.cxx.
References _inCentimeters, binaryPairFileDirectory, files, i, makeBinaryPairFileName(), overlapIDs, and searchFiles().
Referenced by runLumiPixel2fMatrixFinder(), and runSensorAligner().
bool PndLmdAlignManager::checkForLmdMatrixFiles | ( | ) |
Definition at line 596 of file PndLmdAlignManager.cxx.
References binaryPairFileDirectory, files, i, makeMatrixFileName(), overlapIDs, and searchFiles().
Referenced by runLumiPixel2fMatrixFinder().
|
private |
Definition at line 256 of file PndLmdAlignManager.cxx.
References exit(), fileNames, matrixOutDir, and outFilename.
Referenced by setOutFilename().
void PndLmdAlignManager::clearPairs | ( | ) |
Definition at line 887 of file PndLmdAlignManager.cxx.
References aligners.
|
static |
Definition at line 663 of file PndLmdAlignManager.cxx.
|
static |
Definition at line 424 of file PndLmdAlignManager.cxx.
|
static |
Definition at line 428 of file PndLmdAlignManager.cxx.
Referenced by PndLmdAlignQA::readMatrixInfo().
void PndLmdAlignManager::init | ( | ) |
Definition at line 45 of file PndLmdAlignManager.cxx.
References _allFilesAdded, _firstInitDone, _inCentimeters, _info, _multithreaded, _singleAligner, _verboseLevel, _zIsTimestamp, aligners, alignersFull, enableHelperMatrix, fileNames, PndLmdGeometryHelper::getAvailableOverlapIDs(), PndLmdGeometryHelper::getInstance(), helper, i, outFilename, overlapIDs, PndLmdSensorAligner::setInCentimeters(), PndLmdSensorAligner::setManager(), PndLmdSensorAligner::setOverlapId(), and PndLmdSensorAligner::setZasTimetamp().
Referenced by PndLmdAlignManager().
void PndLmdAlignManager::loadBar | ( | int | current, |
int | total, | ||
int | resolution, | ||
int | width, | ||
std::string | message = "" |
||
) |
Definition at line 217 of file PndLmdAlignManager.cxx.
References c, i, MTLBmutex, n, printf(), and x.
Referenced by readFilesAndAlign(), readPairsFromBinaryFilesAndAlign(), and writePairsToBinaryFiles().
|
staticprivate |
Definition at line 634 of file PndLmdAlignManager.cxx.
References filename.
Referenced by checkForBinaryFiles(), PndLmdSensorAligner::readPairsFromBinary(), and PndLmdSensorAligner::writePairsToBinary().
|
staticprivate |
Definition at line 641 of file PndLmdAlignManager.cxx.
Referenced by checkForLmdMatrixFiles(), PndLmdAlignQA::checkForMatrixFiles(), and waitForCompletion().
|
static |
Definition at line 416 of file PndLmdAlignManager.cxx.
Referenced by PndLmdAlignQA::createHist(), PndLmdSensorAligner::writePairsToBinary(), and writePairsToBinaryFiles().
|
static |
void PndLmdAlignManager::readFilesAndAlign | ( | ) |
Definition at line 128 of file PndLmdAlignManager.cxx.
References _allFilesAdded, addPairAndStartAligner(), allAlignersFull(), exit(), fileNames, i, loadBar(), and waitForCompletion().
Referenced by runLumiPixel2fMatrixFinder().
|
static |
|
static |
Definition at line 283 of file PndLmdAlignManager.cxx.
References castTGeoHMatrixToMatrix(), and readTGeoHMatrix().
bool PndLmdAlignManager::readPairsFromBinaryFilesAndAlign | ( | ) |
Definition at line 795 of file PndLmdAlignManager.cxx.
References aligners, alignersFull, binaryPairFileDirectory, PndLmdThreadPool::enqueue(), loadBar(), maxThreads, overlapIDs, PndLmdSensorAligner::readPairsFromBinary(), runSensorAligner(), mrfdata_8b_error::success, and waitForCompletion().
Referenced by runLumiPixel2fMatrixFinder().
|
static |
Definition at line 288 of file PndLmdAlignManager.cxx.
References i, Matrix::m, Matrix::n, readFromCSVFile(), rotation, and Matrix::val.
Referenced by PndLmdAlignQA::getMatrixDiffCM(), PndLmdAlignQA::getMisalignedOverlapFromICP(), and readMatrix().
|
private |
Definition at line 191 of file PndLmdAlignManager.cxx.
References PndLmdSensorAligner::applyDynamicCut(), binaryPairFileDirectory, PndLmdSensorAligner::calculateMatrix(), PndLmdSensorAligner::check(), checkForBinaryFiles(), PndLmdSensorAligner::clearPairs(), PndLmdSensorAligner::transformToSensorOne(), and PndLmdSensorAligner::writePairsToBinary().
Referenced by addPairAndStartAligner(), readPairsFromBinaryFilesAndAlign(), and waitForCompletion().
|
static |
Definition at line 455 of file PndLmdAlignManager.cxx.
|
static |
Definition at line 393 of file PndLmdAlignManager.cxx.
Referenced by addFilesFromDirectory(), checkForBinaryFiles(), checkForLmdMatrixFiles(), and PndLmdAlignQA::checkForMatrixFiles().
|
inline |
Definition at line 171 of file PndLmdAlignManager.h.
References directory.
Referenced by runLumiPixel2fMatrixFinder().
void PndLmdAlignManager::setInCentimeters | ( | bool | inCentimeters | ) |
Definition at line 479 of file PndLmdAlignManager.cxx.
References _inCentimeters, and aligners.
Referenced by PndLmdAlignQA::checkCyclicMatrices(), and runLumiPixel2fMatrixFinder().
|
inline |
Definition at line 150 of file PndLmdAlignManager.h.
References directory.
Referenced by PndLmdAlignQA::checkCombined(), PndLmdAlignQA::checkCyclicMatrices(), and runLumiPixel2fMatrixFinder().
void PndLmdAlignManager::setMaxPairs | ( | int | maxPairs | ) |
Definition at line 648 of file PndLmdAlignManager.cxx.
References aligners.
Referenced by runLumiPixel2fMatrixFinder().
|
inline |
|
inline |
|
inline |
Definition at line 120 of file PndLmdAlignManager.h.
void PndLmdAlignManager::setZasTimestamp | ( | bool | timestamp | ) |
Definition at line 486 of file PndLmdAlignManager.cxx.
References _zIsTimestamp, and aligners.
void PndLmdAlignManager::validate | ( | ) |
Definition at line 87 of file PndLmdAlignManager.cxx.
References aligners.
|
inline |
Definition at line 175 of file PndLmdAlignManager.h.
Referenced by runLumiPixel2fMatrixFinder().
|
private |
Definition at line 845 of file PndLmdAlignManager.cxx.
References _verboseLevel.
Referenced by addPairAndStartAligner(), and allAlignersFull().
|
private |
Definition at line 708 of file PndLmdAlignManager.cxx.
References _inCentimeters, _info, aligners, alignersFull, PndLmdThreadPool::enqueue(), makeMatrixFileName(), matrixOutDir, overlapIDs, runSensorAligner(), PndLmdThreadPool::wait(), and writeMatrix().
Referenced by readFilesAndAlign(), and readPairsFromBinaryFilesAndAlign().
|
static |
Definition at line 869 of file PndLmdAlignManager.cxx.
|
static |
bool PndLmdAlignManager::writePairsToBinaryFiles | ( | ) |
Definition at line 770 of file PndLmdAlignManager.cxx.
References aligners, binaryPairFileDirectory, loadBar(), and mkdir().
|
friend |
Definition at line 39 of file PndLmdAlignManager.h.
|
friend |
Definition at line 38 of file PndLmdAlignManager.h.
|
private |
Definition at line 53 of file PndLmdAlignManager.h.
Referenced by addFile(), addFilesFromDirectory(), init(), and readFilesAndAlign().
|
private |
Definition at line 57 of file PndLmdAlignManager.h.
Referenced by init().
|
private |
Definition at line 55 of file PndLmdAlignManager.h.
Referenced by checkForBinaryFiles(), init(), setInCentimeters(), and waitForCompletion().
|
private |
Definition at line 48 of file PndLmdAlignManager.h.
Referenced by init(), and waitForCompletion().
|
private |
Definition at line 58 of file PndLmdAlignManager.h.
Referenced by init().
|
private |
Definition at line 55 of file PndLmdAlignManager.h.
Referenced by init().
|
private |
Definition at line 45 of file PndLmdAlignManager.h.
Referenced by init(), and verbosePrint().
|
private |
Definition at line 55 of file PndLmdAlignManager.h.
Referenced by init(), and setZasTimestamp().
|
private |
Definition at line 50 of file PndLmdAlignManager.h.
Referenced by addPairAndStartAligner(), clearPairs(), init(), readPairsFromBinaryFilesAndAlign(), setInCentimeters(), setMaxPairs(), setZasTimestamp(), validate(), waitForCompletion(), and writePairsToBinaryFiles().
|
private |
Definition at line 51 of file PndLmdAlignManager.h.
Referenced by addPairAndStartAligner(), allAlignersFull(), init(), readPairsFromBinaryFilesAndAlign(), and waitForCompletion().
|
private |
Definition at line 56 of file PndLmdAlignManager.h.
Referenced by checkForBinaryFiles(), checkForLmdMatrixFiles(), readPairsFromBinaryFilesAndAlign(), runSensorAligner(), and writePairsToBinaryFiles().
|
private |
Definition at line 55 of file PndLmdAlignManager.h.
Referenced by init().
|
private |
Definition at line 54 of file PndLmdAlignManager.h.
Referenced by addFile(), addFilesFromDirectory(), checkIOpaths(), init(), and readFilesAndAlign().
|
private |
Definition at line 43 of file PndLmdAlignManager.h.
Referenced by PndLmdSensorAligner::transformToLmdLocal(), and PndLmdSensorAligner::transformToSensorOne().
|
private |
Definition at line 56 of file PndLmdAlignManager.h.
Referenced by checkIOpaths(), and waitForCompletion().
|
private |
Definition at line 46 of file PndLmdAlignManager.h.
Referenced by readPairsFromBinaryFilesAndAlign().
|
private |
Definition at line 42 of file PndLmdAlignManager.h.
Referenced by loadBar().
|
private |
Definition at line 56 of file PndLmdAlignManager.h.
Referenced by checkIOpaths(), and init().
|
private |
Definition at line 60 of file PndLmdAlignManager.h.
Referenced by allAlignersFull(), checkForBinaryFiles(), checkForLmdMatrixFiles(), init(), readPairsFromBinaryFilesAndAlign(), and waitForCompletion().