14#ifndef SLHAPARSER_HPP_
15#define SLHAPARSER_HPP_
20#include "../MEC/MassSpectrum.hpp"
21#include "../MEC/RunningConstant.hpp"
22#include "../MEC/RunningConstantError.hpp"
23#include "../MEC/SpectrumUpdater.hpp"
35 std::string
const& blockToStrip,
36 std::string
const& copyFilename );
52 readFile( std::string
const& slhaFileName );
67 std::map< std::string, SLHA::SameNameBlockSet* >
blockMap;
68 std::map< std::string, SLHA::SameNameBlockSet* >::iterator
70 std::pair< std::string, SLHA::SameNameBlockSet* >
mapInserter;
79 std::multimap< int, RunningConstant >
const*
fmassMap;
82 std::multimap< int, RunningConstantError >
const*
fmasserrMap;
150 std::map< std::string, SLHA::SameNameBlockSet* >::const_iterator
151 constBlockMapIterator(
blockMap.find( blockName ) );
152 if(
blockMap.end() == constBlockMapIterator )
158 return constBlockMapIterator->second;
std::list< observerWithBool > observerList
virtual void registerObserver(PushedToObserver< SpectrumUpdater > *const joiningObserver)
virtual void updateObservers()
static std::string const whitespaceChars
static void transformToUppercase(std::string &stringToTransform)
static void parseByChar(std::string const &stringToParse, VectorlikeArray< std::string > &destinationArray, std::string const &divisionCharSet=whitespaceChars)
virtual std::multimap< int, RunningConstant > const * getFmassMap() const
virtual std::map< int, double > const * getMassMap() const
virtual std::multimap< int, RunningConstantError > const * getFmasserrMap() const
void finishRecordingLines()
void checkForMassBlocksForSpectrum()
virtual void registerBlock(SLHA::BaseSlhaBlock &blockToUpdate)
void registerSpectrum(MassSpectrum &spectrumToUpdate)
std::map< int, double > const * massMap
std::string firstWordOfLine
BOL::VectorlikeArray< std::string > wordsOfLine
SLHA::SameNameBlockSet * currentBlockPointer
std::multimap< int, RunningConstant > const * fmassMap
SLHA::BaseSlhaBlock * fmassBlockPointer
std::multimap< int, RunningConstantError > const * fmasserrMap
SLHA::BaseSlhaBlock * massBlockPointer
std::map< std::string, SLHA::SameNameBlockSet * > blockMap
SLHA::SameNameBlockSet * getBlockAsStrings(std::string blockName)
std::pair< std::string, SLHA::SameNameBlockSet * > mapInserter
void prepareForEitherBlockOrDecay()
std::map< std::string, SLHA::SameNameBlockSet * >::iterator blockMapIterator
SlhaParser(bool const shouldRecordBlocksNotRegistered=true, bool const isVerbose=true)
bool readFile(std::string const &slhaFileName)
void prepareToReadNewDecay()
std::string commentString
bool const shouldRecordBlocksNotRegistered
SpectrumUpdater observingSpectrumUpdater
void prepareToReadNewBlock()
SLHA::BaseSlhaBlock * fmasserrBlockPointer
void ensureSpectraRecordMasses()
BOL::CommentedTextParser fileParser
static void copyWithoutBlock(std::string const &originalFilename, std::string const &blockToStrip, std::string const ©Filename)
void finishUpEitherBlockOrDecay()
void recordDecayHeader(std::string const &decayerCode, std::string const &decayWidth)
void recordDecayLine(BOL::VectorlikeArray< std::string > const &decayLine)
bool isHoldingDecay() const
void setFmasserrMap(std::multimap< int, RunningConstantError > const *fmasserrMap)
void setFmassMap(std::multimap< int, RunningConstant > const *fmassMap)
void setMassMap(std::map< int, double > const *massMap)