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

#include <egammaLayerRecalibTool.h>

Inheritance diagram for ScaleEcalorimeter:
Collaboration diagram for ScaleEcalorimeter:

Public Types

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

Public Member Functions

 ScaleEcalorimeter (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 273 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 205 of file egammaLayerRecalibTool.h.

Constructor & Destructor Documentation

◆ ScaleEcalorimeter()

ScaleEcalorimeter::ScaleEcalorimeter ( NullPoint base)
inline

Definition at line 275 of file egammaLayerRecalibTool.h.

275: InputModifier(base) { };
std::string base
Definition hcg.cxx:81

Member Function Documentation

◆ operator()()

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

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()

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

Implements InputModifier.

Definition at line 191 of file egammaLayerRecalibTool.cxx.

192{
193 inputs.E0raw *= amount;
194 inputs.E1raw *= amount;
195 inputs.E2raw *= amount;
196 inputs.E3raw *= amount;
197}

◆ shift_inputs()

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

Implements InputModifier.

Definition at line 199 of file egammaLayerRecalibTool.cxx.

200{
201 inputs.E0raw += amount;
202 inputs.E1raw += amount;
203 inputs.E2raw += amount;
204 inputs.E3raw += amount;
205}

Member Data Documentation

◆ m_base

NullPoint InputModifier::m_base
privateinherited

Definition at line 215 of file egammaLayerRecalibTool.h.


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