Loading...
Searching...
No Matches
ParallelReplicaJob.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
18#include <memory>
19#include <vector>
20
21namespace eonc {
22
23class ParallelReplicaJob : public Job {
24public:
25 using Job::Job;
27 std::vector<std::string> run() override;
29 std::shared_ptr<Matter> runFromMatter(std::shared_ptr<Matter> initial);
30
31private:
32 std::vector<std::string> returnFiles;
33 std::shared_ptr<Matter> reactant;
34
35 void dephase(Matter &trajectory);
36 int refineTransition(const std::vector<std::shared_ptr<Matter>> &snapshots,
37 bool fake = false);
39};
40
41} // namespace eonc
42
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)
Definition Job.h:58
std::vector< std::string > returnFiles
std::shared_ptr< Matter > reactant
int refineTransition(const std::vector< std::shared_ptr< Matter > > &snapshots, bool fake=false)
Job(std::unique_ptr< Parameters > parameters)
Definition Job.h:58
void dephase(Matter &trajectory)
std::vector< std::string > run() override
Virtual run; used solely for dynamic dispatch.
std::shared_ptr< Matter > runFromMatter(std::shared_ptr< Matter > initial)
Matter-first entry; returns final trajectory Matter.
RAII resource manager for the ARTn C library with global synchronization.
RAII helper for class-scoped logging.
Definition EonLogger.h:171