eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
ForceCallTimer.h
Go to the documentation of this file.
1
/*
2
** This file is part of eOn.
3
**
4
** SPDX-License-Identifier: BSD-3-Clause
5
**
6
** Copyright (c) 2010--present, eOn Development Team
7
** All rights reserved.
8
**
9
** Repo:
10
** https://github.com/TheochemUI/eOn
11
*/
12
#pragma once
13
#include "
Potential.h
"
14
15
namespace
eonc
{
16
20
class
ForceCallTimer
{
21
size_t
&
target_
;
22
size_t
initial_
;
23
24
public
:
25
explicit
ForceCallTimer
(
size_t
&target)
26
:
target_
(target),
27
initial_
(
PotRegistry
::get().total_force_calls()) {}
28
~ForceCallTimer
() {
29
target_
+=
PotRegistry::get
().
total_force_calls
() -
initial_
;
30
}
31
32
// Non-copyable, non-movable
33
ForceCallTimer
(
const
ForceCallTimer
&) =
delete
;
34
ForceCallTimer
&
operator=
(
const
ForceCallTimer
&) =
delete
;
35
};
36
37
}
// namespace eonc
Potential.h
eonc::ForceCallTimer::ForceCallTimer
ForceCallTimer(const ForceCallTimer &)=delete
eonc::ForceCallTimer::ForceCallTimer
ForceCallTimer(size_t &target)
Definition
ForceCallTimer.h:25
eonc::ForceCallTimer::initial_
size_t initial_
Definition
ForceCallTimer.h:22
eonc::ForceCallTimer::operator=
ForceCallTimer & operator=(const ForceCallTimer &)=delete
eonc::ForceCallTimer::~ForceCallTimer
~ForceCallTimer()
Definition
ForceCallTimer.h:28
eonc::ForceCallTimer::target_
size_t & target_
Definition
ForceCallTimer.h:21
eonc::PotRegistry
Definition
PotRegistry.h:24
eonc::PotRegistry::get
static PotRegistry & get() noexcept
Process-lifetime singleton.
Definition
PotRegistry.cpp:50
eonc::PotRegistry::total_force_calls
size_t total_force_calls() const noexcept
Definition
PotRegistry.cpp:98
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
include
eon
ForceCallTimer.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf