OpenMS
BaseModel_impl.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Timo Sachsenberg $
6 // $Authors: $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
12 
13 // include derived classes here
20 
21 namespace OpenMS
22 {
23 
24  template <>
25  OPENMS_DLLAPI void BaseModel<2>::registerChildren()
26  {
28  }
29 
30  template <>
31  OPENMS_DLLAPI void BaseModel<1>::registerChildren()
32  {
33 
34  Factory<BaseModel<1> >::registerProduct(GaussModel::getProductName(), &GaussModel::create);
35  Factory<BaseModel<1> >::registerProduct(BiGaussModel::getProductName(), &BiGaussModel::create);
36  Factory<BaseModel<1> >::registerProduct(IsotopeModel::getProductName(), &IsotopeModel::create);
37  Factory<BaseModel<1> >::registerProduct(ExtendedIsotopeModel::getProductName(), &ExtendedIsotopeModel::create);
38  Factory<BaseModel<1> >::registerProduct(EmgModel::getProductName(), &EmgModel::create);
39 
40  return;
41  }
42 
43 } // namespace OpenMS
44 
Abstract base class for all D-dimensional models.
Definition: BaseModel.h:25
static void registerChildren()
register all derived classes here (implemented in file BaseModel_impl.h)
Returns FactoryProduct* based on the name of the desired concrete FactoryProduct.
Definition: Factory.h:37
Class for product models i.e. models with D independent dimensions.
Definition: ProductModel.h:34
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22