30#ifndef _PSTARTUPHANDLER_H_
31#define _PSTARTUPHANDLER_H_
37#include <TSAXParser.h>
229 virtual void OnError(
const Char_t*);
std::vector< PRunNameTemplate > PRunNameTemplateList
std::vector< Int_t > PIntVector
std::vector< TString > PStringVector
int parseXmlFile(TSAXParser *, const char *)
Replacement function for TSAXParser::ParseFile().
PRunNameTemplateList fRunNameTemplate
List of instrument-specific run name patterns.
PStartupHandler(bool reset_startup_file=false)
Constructor that locates and parses the musrfit startup configuration file.
virtual void CheckLists()
Validates configuration lists and fills missing entries with defaults.
virtual TString GetStartupFilePath()
Returns the full path to the located startup configuration file.
virtual void OnComment(const Char_t *)
SAX callback: Called when XML comment is found (unused).
virtual Bool_t StartupFileFound()
Checks if the startup configuration file was successfully located.
virtual const PRunNameTemplateList GetRunNameTemplateList()
Returns the list of instrument-specific run name templates.
PIntVector fColorList
List of ROOT TColor codes (from RGB) for plotting.
PStringVector fDataPathList
List of directories to search for data files.
Bool_t fStartupFileFound
True if musrfit_startup.xml was located.
virtual void OnWarning(const Char_t *)
SAX callback: Called when XML parser issues a warning.
virtual void OnError(const Char_t *)
SAX callback: Called when XML parser encounters an error.
virtual void OnFatalError(const Char_t *)
SAX callback: Called when XML parser encounters a fatal error.
EKeyWords fKey
Current XML element type (SAX parser state)
TString fStartupFilePath
Full path to located startup file (empty if not found)
EKeyWords
Enumeration of XML element types for SAX parser state machine.
@ eApodization
Inside <apodization> element (none/weak/medium/strong)
@ eFourierPower
Inside <fourier_power> element (0-20)
@ eOptions
Inside <options> element (reserved)
@ eRootSettings
Inside <root_settings> container.
@ eEmpty
No active element (between elements or unknown)
@ eFourierSettings
Inside <fourier_settings> container.
@ eMarker
Inside <marker> element (ROOT marker code)
@ ePhaseIncrement
Inside <phase_increment> element (degrees per step)
@ eUnits
Inside <units> element (Gauss/Tesla/MHz/Mc/s)
@ eMarkerList
Inside <marker_list> container.
@ ePhase
Inside <phase> element (degrees)
@ ePlot
Inside <plot> element (real/imag/real_and_imag/power/phase)
@ eColor
Inside <color> element (RGB comma-separated)
@ eComment
Inside <comment> element.
@ eRunNameTemplate
Inside <run_name_template> element.
@ eColorList
Inside <color_list> container.
@ eDataPath
Inside <data_path> element.
TString fCurrentInstrumentName
Instrument name from run_name_template inst attribute.
virtual void OnEndElement(const Char_t *)
SAX callback: Called when an XML end element is encountered.
virtual void OnCharacters(const Char_t *)
SAX callback: Called with element text content.
PIntVector fMarkerList
List of ROOT TMarker style codes for plotting.
virtual ~PStartupHandler()
Destructor releasing allocated resources.
virtual void OnEndDocument()
SAX callback: Called when XML document parsing ends. Triggers CheckLists() to ensure all required set...
Bool_t WriteDefaultStartupFile(bool reset_startup_file=false)
Creates or overwrites a startup file with default configuration.
virtual void OnCdataBlock(const Char_t *, Int_t)
SAX callback: Called for CDATA blocks (unused).
PMsrFourierStructure fFourierDefaults
Fourier transform default settings structure.
virtual void OnStartElement(const Char_t *, const TList *)
SAX callback: Called when an XML start element is encountered.
virtual const PStringVector GetDataPathList() const
Returns the list of data file search paths.
virtual void OnStartDocument()
SAX callback: Called when XML document parsing begins. Initializes all configuration variables to def...
virtual const PIntVector GetColorList() const
Returns the list of ROOT color codes for plotting.
Bool_t StartupFileExists(Char_t *fln)
Checks if a file exists at the specified path.
virtual PMsrFourierStructure GetFourierDefaults()
Returns Fourier transform default settings.
virtual const PIntVector GetMarkerList() const
Returns the list of ROOT marker codes for plotting.