Class to hold one picture of the BPix survey. More...
#include <SurveyPxbImageReader.h>
Public Types | |
typedef std::vector< T > | measurements_t |
Public Member Functions | |
SurveyPxbImage::count_t | read (std::ifstream &infile, measurements_t &measurements, SurveyPxbImage::count_t reserve=830) |
SurveyPxbImageReader (std::ifstream &infile, measurements_t &measurements, SurveyPxbImage::count_t reserve=800) | |
Constructor with ifstream and destination vector. | |
SurveyPxbImageReader (std::string filename, measurements_t &measurements, SurveyPxbImage::count_t reserve=800) | |
Constructor with filename and destination vector. | |
SurveyPxbImageReader () | |
Empty default constructor. |
Class to hold one picture of the BPix survey.
Definition at line 10 of file SurveyPxbImageReader.h.
typedef std::vector<T> SurveyPxbImageReader< T >::measurements_t |
Definition at line 13 of file SurveyPxbImageReader.h.
SurveyPxbImageReader< T >::SurveyPxbImageReader | ( | ) | [inline] |
SurveyPxbImageReader< T >::SurveyPxbImageReader | ( | std::ifstream & | infile, |
measurements_t & | measurements, | ||
SurveyPxbImage::count_t | reserve = 800 |
||
) | [inline] |
Constructor with ifstream and destination vector.
Definition at line 19 of file SurveyPxbImageReader.h.
References SurveyPxbImageReader< T >::read().
SurveyPxbImageReader< T >::SurveyPxbImageReader | ( | std::string | filename, |
measurements_t & | measurements, | ||
SurveyPxbImage::count_t | reserve = 800 |
||
) | [inline] |
Constructor with filename and destination vector.
Definition at line 25 of file SurveyPxbImageReader.h.
References benchmark_cfg::cerr, EdgesToViz::infile, and SurveyPxbImageReader< T >::read().
SurveyPxbImage::count_t SurveyPxbImageReader< T >::read | ( | std::ifstream & | infile, |
measurements_t & | measurements, | ||
SurveyPxbImage::count_t | reserve = 830 |
||
) | [inline] |
Reads a file, parses its content and fills the data vector All data after a hash sign (#) is treated as a comment and not read
filename | Filename of the file to be read |
measurements | Vector containing the measurements, previous content will be deleted |
reserve | Initial size of the vector, set with vector::reserve() |
Definition at line 42 of file SurveyPxbImageReader.h.
References filterCSVwithJSON::copy, spr::find(), and recoMuon::in.
Referenced by SurveyPxbImageReader< T >::SurveyPxbImageReader().
{ // prepare the measurements vector measurements.clear(); measurements.reserve(reserve); // container for the current line std::string aLine; // loop over lines of input file while (std::getline(infile,aLine)) { // strip off everything after a hash std::string stripped = ""; std::string::iterator iter = std::find(aLine.begin(), aLine.end(), '#'); std::copy(aLine.begin(), iter, std::back_inserter(stripped)); // read one measurment and add to vector if successfull std::istringstream iss(stripped, std::istringstream::in); T curMeas(iss); if (curMeas.isValid()) { measurements.push_back(curMeas); } } return measurements.size(); }