Loading...
Searching...
No Matches
ReplicaExchangeJob.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 "EonLogger.h"
14
15#include "Job.h"
16#include "Matter.h"
17#include "Parameters.h"
18
19namespace eonc {
20
21class ReplicaExchangeJob : public Job {
22public:
23 using Job::Job;
25 std::vector<std::string> run(void) override;
27 std::shared_ptr<Matter> runFromMatter(std::shared_ptr<Matter> initial);
28
29private:
30 void saveData();
31
32 size_t forceCalls{0};
33 std::shared_ptr<Matter> pos;
34 std::vector<std::string> returnFiles;
36};
37
38} // namespace eonc
The job class is used to serve as an abstract class for all jobs, as well as to call a job at runtime...
Job(std::unique_ptr< Parameters > parameters, Runtime &rt)
Borrow: caller keeps Runtime alive (CLI stack / Python Session).
Definition Job.h:76
Job(std::unique_ptr< Parameters > parameters, Runtime &rt)
Borrow: caller keeps Runtime alive (CLI stack / Python Session).
Definition Job.h:76
std::vector< std::string > returnFiles
std::vector< std::string > run(void) override
Virtual run; used solely for dynamic dispatch.
std::shared_ptr< Matter > pos
std::shared_ptr< Matter > runFromMatter(std::shared_ptr< Matter > initial)
Matter-first; returns replica-0 Matter after sampling.
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171