ATLAS Offline Software
Loading...
Searching...
No Matches
ScaleE0 Struct Reference

#include <egammaLayerRecalibTool.h>

Inheritance diagram for ScaleE0:
Collaboration diagram for ScaleE0:

Public Types

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

Public Member Functions

 ScaleE0 (NullPoint base)
CP::CorrectionCode operator() (StdCalibrationInputs &, float amount) const

Private Member Functions

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

Private Attributes

NullPoint m_base {}

Detailed Description

Definition at line 206 of file egammaLayerRecalibTool.h.

Member Enumeration Documentation

◆ NullPoint

enum InputModifier::NullPoint
inherited
Enumerator
ZEROBASED 
ONEBASED 
ZEROBASED_ALPHA 
ONEBASED_ALPHA 
SHIFT 
SCALE 
SUBTRACT 

Definition at line 192 of file egammaLayerRecalibTool.h.

Constructor & Destructor Documentation

◆ ScaleE0()

ScaleE0::ScaleE0 ( NullPoint base)
inline

Definition at line 208 of file egammaLayerRecalibTool.h.

208: InputModifier(base) { };
std::string base
Definition hcg.cxx:83

Member Function Documentation

◆ operator()()

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

Definition at line 129 of file egammaLayerRecalibTool.cxx.

130{
131 if (amount == VALUE_OVERFLOW) return CP::CorrectionCode::OutOfValidityRange;
132 switch (m_base)
133 {
134 case SHIFT: shift_inputs(inputs, amount); return CP::CorrectionCode::Ok;
135 case SUBTRACT: shift_inputs(inputs, -amount); return CP::CorrectionCode::Ok;
136 case SCALE: scale_inputs(inputs, amount); return CP::CorrectionCode::Ok;
137 case ZEROBASED: scale_inputs(inputs, 1. + amount); return CP::CorrectionCode::Ok;
138 case ONEBASED: scale_inputs(inputs, amount); return CP::CorrectionCode::Ok;
139 case ONEBASED_ALPHA: scale_inputs(inputs, 1. / amount); return CP::CorrectionCode::Ok;
140 case ZEROBASED_ALPHA: scale_inputs(inputs, 1. / (1. + amount)); return CP::CorrectionCode::Ok;
141 default: return CP::CorrectionCode::Error;
142 };
143}
@ 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()

void ScaleE0::scale_inputs ( StdCalibrationInputs & inputs,
float amount ) const
privatevirtual

Implements InputModifier.

Definition at line 145 of file egammaLayerRecalibTool.cxx.

145{ inputs.E0raw *= amount; }

◆ shift_inputs()

void ScaleE0::shift_inputs ( StdCalibrationInputs & inputs,
float amount ) const
privatevirtual

Implements InputModifier.

Definition at line 150 of file egammaLayerRecalibTool.cxx.

150{ inputs.E0raw += amount; }

Member Data Documentation

◆ m_base

NullPoint InputModifier::m_base {}
privateinherited

Definition at line 202 of file egammaLayerRecalibTool.h.

202{};

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