Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ModelModifier Class Referenceabstract

Abstract base class for model source modifiers. More...

#include <ModelModifier.h>

Inheritance diagram for ModelModifier:

Public Member Functions

virtual ~ModelModifier ()=default
 Virtual destructor for safe polymorphic use.
 
virtual void modifyLine (std::string &line)=0
 Modifies a single line of source code in place.
 
virtual void addLine (std::ofstream &outputFile, const std::string &currentLine)
 Writes a (possibly modified) line to the output file.
 

Protected Attributes

std::string wilson {}
 Name of the Wilson operator basis used in the model.
 

Detailed Description

Abstract base class for model source modifiers.

A ModelModifier receives each line of a template source file and:

  • can mutate the line in-place via modifyLine,
  • can decide how the line is written via addLine.

Concrete subclasses (e.g. GeneralModelModifier) implement the actual logic to adapt a generic MARTY template to a specific model/Wilson configuration.

Definition at line 30 of file ModelModifier.h.

Constructor & Destructor Documentation

◆ ~ModelModifier()

virtual ModelModifier::~ModelModifier ( )
virtualdefault

Virtual destructor for safe polymorphic use.

Member Function Documentation

◆ addLine()

virtual void ModelModifier::addLine ( std::ofstream &  outputFile,
const std::string &  currentLine 
)
inlinevirtual

Writes a (possibly modified) line to the output file.

Default behavior simply writes currentLine followed by a newline. Derived classes can override this to inject additional lines before or after the current one, depending on addBefore.

Parameters
outputFileOutput stream to write to.
currentLineLine to be written.

Reimplemented in GeneralModelModifier.

Definition at line 55 of file ModelModifier.h.

◆ modifyLine()

virtual void ModelModifier::modifyLine ( std::string &  line)
pure virtual

Modifies a single line of source code in place.

Implementations may, for example, replace occurrences of "SM" with another model name, or adjust class templates.

Parameters
lineThe line of code to modify.

Implemented in GeneralModelModifier.

Member Data Documentation

◆ wilson

std::string ModelModifier::wilson {}
protected

Name of the Wilson operator basis used in the model.

Definition at line 59 of file ModelModifier.h.


The documentation for this class was generated from the following file: