ATLAS Offline Software
Loading...
Searching...
No Matches
InputModifier Struct Referenceabstract

#include <egammaLayerRecalibTool.h>

Inheritance diagram for InputModifier:
Collaboration diagram for InputModifier:

Public Types

enum  NullPoint {
  ZEROBASED , ONEBASED , ZEROBASED_ALPHA , ONEBASED_ALPHA ,
  SHIFT , SCALE , SUBTRACT
}

Public Member Functions

 InputModifier (NullPoint base)
CP::CorrectionCode operator() (StdCalibrationInputs &, float amount) const
virtual ~InputModifier ()

Private Member Functions

 InputModifier ()
virtual void scale_inputs (StdCalibrationInputs &, float amount) const =0
virtual void shift_inputs (StdCalibrationInputs &, float amount) const =0

Private Attributes

NullPoint m_base

Detailed Description

Definition at line 203 of file egammaLayerRecalibTool.h.

Member Enumeration Documentation

◆ NullPoint

Constructor & Destructor Documentation

◆ InputModifier() [1/2]

InputModifier::InputModifier ( NullPoint base)
inline

Definition at line 207 of file egammaLayerRecalibTool.h.

207: m_base(base) { };
std::string base
Definition hcg.cxx:81

◆ ~InputModifier()

virtual InputModifier::~InputModifier ( )
inlinevirtual

Definition at line 209 of file egammaLayerRecalibTool.h.

209{ };

◆ InputModifier() [2/2]

InputModifier::InputModifier ( )
inlineprivate

Definition at line 211 of file egammaLayerRecalibTool.h.

211{ }; // privatize default constructor

Member Function Documentation

◆ operator()()

CP::CorrectionCode InputModifier::operator() ( StdCalibrationInputs & inputs,
float amount ) const

Definition at line 128 of file egammaLayerRecalibTool.cxx.

129{
130 if (amount == VALUE_OVERFLOW) return CP::CorrectionCode::OutOfValidityRange;
131 switch (m_base)
132 {
133 case SHIFT: shift_inputs(inputs, amount); return CP::CorrectionCode::Ok;
134 case SUBTRACT: shift_inputs(inputs, -amount); return CP::CorrectionCode::Ok;
135 case SCALE: scale_inputs(inputs, amount); return CP::CorrectionCode::Ok;
136 case ZEROBASED: scale_inputs(inputs, 1. + amount); return CP::CorrectionCode::Ok;
137 case ONEBASED: scale_inputs(inputs, amount); return CP::CorrectionCode::Ok;
138 case ONEBASED_ALPHA: scale_inputs(inputs, 1. / amount); return CP::CorrectionCode::Ok;
139 case ZEROBASED_ALPHA: scale_inputs(inputs, 1. / (1. + amount)); return CP::CorrectionCode::Ok;
140 default: return CP::CorrectionCode::Error;
141 };
142}
@ Error
Some error happened during the object correction.
@ OutOfValidityRange
Input object is out of validity range.
@ Ok
The correction was done successfully.
virtual void shift_inputs(StdCalibrationInputs &, float amount) const =0
virtual void scale_inputs(StdCalibrationInputs &, float amount) const =0

◆ scale_inputs()

virtual void InputModifier::scale_inputs ( StdCalibrationInputs & ,
float amount ) const
privatepure virtual

◆ shift_inputs()

virtual void InputModifier::shift_inputs ( StdCalibrationInputs & ,
float amount ) const
privatepure virtual

Member Data Documentation

◆ m_base

NullPoint InputModifier::m_base
private

Definition at line 215 of file egammaLayerRecalibTool.h.


The documentation for this struct was generated from the following files: