CEPS  24.01
Cardiac ElectroPhysiology Simulator
CepsObject.hpp
Go to the documentation of this file.
1 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2  This file is part of CEPS.
3 
4  CEPS is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  CEPS is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with CEPS (see file LICENSE at root of project).
16  If not, see <https://www.gnu.org/licenses/>.
17 
18 
19  Copyright 2019-2024 Inria, Universite de Bordeaux
20 
21  Authors, in alphabetical order:
22 
23  Pierre-Elliott BECUE, Florian CARO, Yves COUDIERE(*), Andjela DAVIDOVIC,
24  Charlie DOUANLA-LONTSI, Marc FUENTES, Mehdi JUHOOR, Michael LEGUEBE(*),
25  Pauline MIGERDITICHAN, Valentin PANNETIER(*), Nejib ZEMZEMI.
26  * : currently active authors
27 
28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
30 #pragma once
31 
32 #include <Eigen/Core>
33 
35 
40 {
41 
42  public:
43 
45  CepsObject() = default;
46 
48  CepsObject(const CepsObject &) = default;
49 
51  virtual ~CepsObject() = default;
52 
54  CepsObject &
55  operator= (const CepsObject &) = default;
56 
58  CepsObject*
59  toBaseObject();
60 
62  const CepsObject*
63  toBaseObject() const;
64 
66  Profiler*
67  getProfiler() const;
68 
69 
70  protected:
71 
72  inline static Profiler m_profiler;
73 
74 };
Timer class, measure execution time.
Base class for other (big) CEPS classes. All classes can get a pointer to this base class and also co...
Definition: CepsObject.hpp:40
CepsObject & operator=(const CepsObject &)=default
Assignment operator.
CepsObject * toBaseObject()
Returns a pointer to CepsObject class.
Definition: CepsObject.cpp:34
static Profiler m_profiler
The same profiler for each big object.
Definition: CepsObject.hpp:72
virtual ~CepsObject()=default
Destructor.
CepsObject(const CepsObject &)=default
Copy constructor.
Profiler * getProfiler() const
Access to profiler.
Definition: CepsObject.cpp:46
CepsObject()=default
default constructor
A Chronometer used to measure execution of blocks of code, plus some methods to get current memory us...