WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
LogManager.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX INC.
15******************************************************************************/
16/*
17Log Manager header file
18
19Author: Alex Reynolds
20*/
21#ifndef LOGGING_LOG_MANAGER_H
22#define LOGGING_LOG_MANAGER_H
23
24#include <vector>
25
27#include "logging/SimLogger.h"
28#include "architecture/Time.h"
29
30namespace warptwin {
31 class LogEvent;
32 class RateMonitor;
34 class Model;
35
42 public:
45
49
53 void addLog(clockwerk::SimLogger &log, const clockwerk::Time &rate);
54
58 void addLog(clockwerk::SimLogger &log, unsigned int rate);
59
63 void outDir(const std::string &directory) {_output_directory = directory;}
64 std::string outDir() {return _output_directory;}
65 protected:
67 std::string _output_directory = "";
68
70 std::vector<LogEvent*> _log_events;
71
74
76 std::vector<RateMonitor*> _monitors;
77
78 private:
79 GraphTreeObject* _children[100];
80 };
81
82}
83
84#endif
Base class for object organization.
Definition GraphTreeObject.h:98
GraphTreeObject(const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0)
Name-based constructor for GraphTreeObject which will have no children by default.
Definition GraphTreeObject.cpp:23
Wrapper to manage and convert time as timespce.
Definition Time.h:53
SimulationExecutive & exc
Handle to simulation executive for configuring monitors.
Definition LogManager.h:73
std::string _output_directory
Output directory.
Definition LogManager.h:67
~LogManager()
Destructor for the log manager. Frees memory allocated internally to logging events and monitors.
Definition LogManager.cpp:31
std::vector< LogEvent * > _log_events
List of logging events.
Definition LogManager.h:70
std::vector< RateMonitor * > _monitors
List of rate monitors established in the log manager.
Definition LogManager.h:76
std::string outDir()
Definition LogManager.h:64
void addLog(clockwerk::SimLogger &log, const clockwerk::Time &rate)
Overloaded function to register and set up a logger.
Definition LogManager.cpp:43
void outDir(const std::string &directory)
Function to set output directory for all logs.
Definition LogManager.h:63
LogManager(SimulationExecutive &executive)
Constructor for the log manager.
Definition LogManager.cpp:26
Base model class for derived implementation.
Definition Model.h:88
Implementation of the executive class for simulation.
Definition SimulationExecutive.h:64
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22