CP::CorrectionTool< T > Class Template Reference

#include <CorrectionTool.h>

List of all members.

Public Types

typedef T xAODContainerType
 description: the type of xAOD container used
typedef
xAODContainerType::base_value_type 
xAODObjectType
 description: the type of xAOD object used

Public Member Functions

virtual ~CorrectionTool ()
virtual CorrectionCode applyCorrection (xAODObjectType &inputObject)=0
CorrectionCode correctedCopy (const xAODObjectType &inputObject, xAODObjectType *&outputObject)
CorrectionCode applyContainerCorrection (xAODContainerType &inputContainer)

Detailed Description

template<class T>
class CP::CorrectionTool< T >

Helper base class for "correction tools"

This class is provided to make the coding of CP tools that apply some modification to objects a little easier. The tool needs to provide a separate, proper interface class. This class will just provide the implementation of the functions defined in that interface. So the CP tool itself will look like:

class MySmearingTool : public virtual IMySmearingTool,
public virtual CP::CorrectionTool< MyContainerType >,
public asg::AsgTool {
...
};

The idea is that the user only needs to implement one function in the final tool in order to implement the interface outlined in https://cds.cern.ch/record/1667206

Author:
Nils Krumnack <krumnack@iastate.edu>
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Revision
600738
Date
2014-06-07 16:34:05 +0200 (Sat, 07 Jun 2014)

Constructor & Destructor Documentation

template<class T>
virtual CP::CorrectionTool< T >::~CorrectionTool (  )  [inline, virtual]

effects: standard destructor rationale: virtual destruct for base class


Member Function Documentation

template<class T >
CorrectionCode CP::CorrectionTool< T >::applyContainerCorrection ( xAODContainerType inputContainer  )  [inline]

effects: apply the correction to all the members of the container returns: overall success rationale: this will apply the correction to every single member (even if some members fail) rationale: the interface class provides a default implementation in terms of applyCorrection, that the derived classes can override for efficiency

template<class T>
virtual CorrectionCode CP::CorrectionTool< T >::applyCorrection ( xAODObjectType inputObject  )  [pure virtual]

effects: apply the correction and store the output in the object returns: success

template<class T >
CorrectionCode CP::CorrectionTool< T >::correctedCopy ( const xAODObjectType inputObject,
xAODObjectType *&  outputObject 
) [inline]

effects: make a clone of the input object, apply the correction to it and store the output in the object returns: success rationale: the interface class provides a default implementation in terms of applyCorrection, that the derived classes can override for efficiency


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1