ATLAS Offline Software
RIO_OnTrackErrorScalingKit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef _RIO_OnTrackErrorScalingKit_H_
6 #define _RIO_OnTrackErrorScalingKit_H_
7 
9 #include "KitManager.h"
10 
12 {
13 public:
15 
16  virtual unsigned int nParametres() const = 0;
17  virtual const char* const* paramNames() const = 0;
18  virtual size_t getParamIndex(const std::string &name) const;
19 
20  virtual std::unique_ptr<RIO_OnTrackErrorScaling> create() const = 0;
21 };
22 
23 template <class T>
25 {
26  public:
27  virtual std::unique_ptr<RIO_OnTrackErrorScaling> create() const override {
28  std::unique_ptr<RIO_OnTrackErrorScaling> error_scaling( new T);
29  error_scaling->params().resize(this->nParametres());
30  return error_scaling;
31  }
32 };
33 
35 
36 #endif
RIO_OnTrackErrorScalingKit::nParametres
virtual unsigned int nParametres() const =0
KitManager
Definition: KitManager.h:31
RIO_OnTrackErrorScalingKitManager
KitManager< RIO_OnTrackErrorScalingKit > RIO_OnTrackErrorScalingKitManager
Definition: RIO_OnTrackErrorScalingKit.h:34
RIO_OnTrackErrorScalingKit::getParamIndex
virtual size_t getParamIndex(const std::string &name) const
Definition: RIO_OnTrackErrorScalingKit.cxx:6
RIO_OnTrackErrorScalingSpecialisedKit::create
virtual std::unique_ptr< RIO_OnTrackErrorScaling > create() const override
Definition: RIO_OnTrackErrorScalingKit.h:27
RIO_OnTrackErrorScaling.h
RIO_OnTrackErrorScalingKit::create
virtual std::unique_ptr< RIO_OnTrackErrorScaling > create() const =0
RIO_OnTrackErrorScalingKit::~RIO_OnTrackErrorScalingKit
virtual ~RIO_OnTrackErrorScalingKit()
Definition: RIO_OnTrackErrorScalingKit.h:14
RIO_OnTrackErrorScalingKit::paramNames
virtual const char *const * paramNames() const =0
RIO_OnTrackErrorScalingSpecialisedKit
Definition: RIO_OnTrackErrorScalingKit.h:25
KitManager.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
RIO_OnTrackErrorScalingKit
Definition: RIO_OnTrackErrorScalingKit.h:12
RIO_OnTrackErrorScaling::params
std::vector< std::vector< double > > & params()
Definition: RIO_OnTrackErrorScaling.h:29
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35