CbmRoot
Loading...
Searching...
No Matches
services/run_info/app/Application.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10#pragma once
11
12#include <cstdint>
13#include <optional>
14#include <string>
15
17{
19 enum class EInfo
20 {
21 GeoTag, //< Returns geometry setup tag
22 //StsTag,
23 //MvdTag,
24 //......
25 //CollisionSystem,
26 //CollisionEnergyCm,
27 //......
28 Print, //< Prints run information into stdout
29 END
30 };
31
35 public:
37 Application() = default;
38
40 Application(const Application&) = default;
41
44
46 Application& operator=(const Application&) = default;
47
50
52 ~Application() = default;
53
57 std::optional<EInfo> ParseOptions(int argc, char* argv[]);
58
61 void Print(EInfo info) const;
62
64 std::string GetRunInfo() const;
65
66 private:
67 uint32_t fRunId{0};
68 };
69} // namespace cbm::services::run_info
Application(const Application &)=default
Copy constructor.
Application & operator=(Application &&)=default
Move assignment operator.
Application & operator=(const Application &)=default
Copy assignment operator.
Application()=default
Constructor from parameters.
std::optional< EInfo > ParseOptions(int argc, char *argv[])
Parse command line arguments.
Application(Application &&)=default
Move constructor.