ATLAS Offline Software
Loading...
Searching...
No Matches
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{
13public:
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
23template <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
KitManager< RIO_OnTrackErrorScalingKit > RIO_OnTrackErrorScalingKitManager
virtual std::unique_ptr< RIO_OnTrackErrorScaling > create() const =0
virtual size_t getParamIndex(const std::string &name) const
virtual unsigned int nParametres() const =0
virtual const char *const * paramNames() const =0
virtual std::unique_ptr< RIO_OnTrackErrorScaling > create() const override