44#include <TSAXParser.h>
89 PMsr2Data(
const std::string& fileExtension);
114 int SetRunNumbers(
unsigned int firstRun,
unsigned int lastRun);
134 int SetRunNumbers(
const std::vector<unsigned int>& runVector);
183 int ReadMsrFile(
const std::string& msrFileName)
const;
217 bool PrepareGlobalInputFile(
unsigned int templateNumber,
const std::string& globalOutputFile,
unsigned int runListSize)
const;
233 int WriteOutput(
const std::string& outputFileName,
const std::vector<unsigned int>& parameters,
bool dbFormat,
unsigned int precision,
bool global =
false,
unsigned int counter = 0)
const;
263 void WriteValue(std::fstream &outFile,
const double &value,
const unsigned int &width)
const;
277 void WriteValue(std::fstream &outFile,
const double &value,
const double &errValue,
const unsigned int &width,
const bool &db)
const;
298 bool InParameterList(
const unsigned int ¶mValue,
const std::vector<unsigned int>& paramList)
const;
PMsr2Data(const std::string &fileExtension)
Constructor that initializes the msr2data handler.
unsigned int fNumSpecParam
Number of spectrum-specific parameters.
int ReadMsrFile(const std::string &msrFileName) const
Reads and parses an msr-file.
std::unique_ptr< std::ifstream > fRunListFileStream
Stream for reading run list file.
bool PrepareGlobalInputFile(unsigned int templateNumber, const std::string &globalOutputFile, unsigned int runListSize) const
Generates an msr-file for global (multi-run) fitting.
PMsrHandler * GetSingleRunMsrFile() const
Retrieves msr-file handler for a single run.
int WriteOutput(const std::string &outputFileName, const std::vector< unsigned int > ¶meters, bool dbFormat, unsigned int precision, bool global=false, unsigned int counter=0) const
Writes extracted parameters to output file.
bool PrepareNewInputFile(unsigned int templateNumber, bool sorted) const
Generates a new msr-file from a template.
int CheckRunNumbersInRange() const
Validates that all run numbers are within acceptable ranges.
unsigned int fNumTempRunBlocks
Number of temporary run blocks.
std::vector< unsignedint >::const_iterator fRunVectorIter
Iterator for current position in run vector.
int ReadRunDataFile()
Reads the run data file for the current run.
std::unique_ptr< PMsrHandler > fMsrHandler
Handler for msr-file parsing and generation.
std::unique_ptr< TSAXParser > fSaxParser
XML SAX parser for startup file.
std::string fFileExtension
File extension for data files (e.g., "bin", "root")
int GetFirstSignificantDigit(const double &value) const
Determines the first significant digit position of a value.
unsigned int fNumGlobalParam
Number of global parameters in fit.
std::unique_ptr< PStartupHandler > fStartupHandler
Handler for XML startup file configuration.
int SetRunNumbers(unsigned int runNumber)
Sets a single run number for processing.
void WriteValue(std::fstream &outFile, const double &value, const unsigned int &width) const
Writes a single numeric value to output stream.
bool fHeaderWritten
Flag tracking if output header has been written.
int ParseXmlStartupFile()
Parses the XML startup file for configuration.
unsigned int fRunNumberDigits
Number of digits for run number formatting.
~PMsr2Data()
Destructor that cleans up resources.
bool PrepareNewSortedInputFile(unsigned int templateNumber) const
Generates a sorted msr-file from a template.
std::vector< std::string > fIndVar
Independent variables for output.
std::vector< unsigned int > fRunVector
Vector of run numbers to process.
unsigned int GetPresentRun() const
Gets the current run number being processed.
int DetermineRunNumberDigits(unsigned int maxRunNumber, bool templateFile) const
Determines the number of digits needed for run number formatting.
bool fRunListFile
Flag indicating if run list is from a file.
bool InParameterList(const unsigned int ¶mValue, const std::vector< unsigned int > ¶mList) const
Checks if a parameter is in the output parameter list.
std::unique_ptr< PRunDataHandler > fDataHandler
Handler for run data files.
MSR file parser and manager for the musrfit framework.