14#ifndef SLHAVALUEPLOTTER_HPP_
15#define SLHAVALUEPLOTTER_HPP_
25#include "../SLHA/BlockTypes.hpp"
26#include "../SSP/LineData.hpp"
46 std::string plotFilename,
47 bool const shouldCleanUp );
81 std::vector< std::list< SlhaValuePlotLine > >
columnSet;
116 bool const shouldCleanUp );
132 std::string
const& xmlBody,
149 std::string plotFilename,
150 bool const shouldCleanUp )
181 throw std::runtime_error(
"Could not parse <ColumnDefinitions>." );
189 double largestValue( 0.0 );
190 for( std::vector< std::list< SlhaValuePlotLine > >::iterator
196 if( whichColumn->back().getValue() > largestValue )
198 largestValue = whichColumn->back().getValue();
209 std::string
const& xmlBody,
212 if( drawType.compare(
"SingleColor" ) == 0 )
216 else if( drawType.compare(
"ColoredSegments" ) == 0 )
224 throw std::runtime_error(
"Unknown \"DrawType\" in <LineColor> ("
bool loadString(std::string const stringToParse)
bool currentElementNameMatches(std::string const &comparisonString) const
std::string getTrimmedCurrentElementContent() const
static bool lowToHigh(SlhaValuePlotLine const &firstLine, SlhaValuePlotLine const &secondLine)
double labelShuffleDistance
static double const flatBitWidth
void addColumnLine(std::string lineDefinitionXml, LHPC::SlhaSimplisticInterpreter &slhaParser)
std::string verticalAxisLabel
void createColumns(std::string slhaFilename)
static double const labelSeparationShuffleFactor
std::string deleteCommand
double labelHeightFractionOfRange
static std::string const fullLatexBaseName
std::string generalControlsXml
SlhaValuePlotter(std::string const &xmlInputFilename)
std::vector< SlhaValueLineColoring * > lineColoringPointers
static std::string const gnuplotDataFileName
void executeCommands(std::string plotFilename, bool const shouldCleanUp)
void parseGeneralControls()
double verticalAxisUpperRange
static int const maximumLabelFloatingShuffles
void plotValues(std::string slhaFilename, std::string plotFilename, bool const shouldCleanUp)
static std::string const gnuplotTexBaseName
void prepareTemporaryInputFiles()
std::string gnuplotCommand
static double const automaticScaleFactor
std::string ps2epsCommand
std::string horizontalAxisLabel
static std::string const gnuplotCommandFileName
SlhaValueLineColoring * getNewLineColoring(std::string const &drawType, std::string const &xmlBody, LHPC::SlhaSimplisticInterpreter &slhaParser)
void addNewColumn(std::string columnDefinitionXml, LHPC::SlhaSimplisticInterpreter &slhaParser)
double verticalAxisScaling
void setUpVerticalRange(double const largestValueFound)
std::vector< std::list< SlhaValuePlotLine > > columnSet
void floatLabelsFromOneSide(std::vector< SlhaValuePlotLine * > &labelSet)
std::string columnDefinitionsXml