Skip to content
Snippets Groups Projects
ChainContext.h 918 B
Newer Older
/* Copyright (C) 2023 FIAS Frankfurt Institute for Advanced Studies, Frankfurt / Main
   SPDX-License-Identifier: GPL-3.0-only
   Authors: Felix Weiglhofer [committer] */
#ifndef CBM_ALGO_BASE_CHAINCONTEXT_H
#define CBM_ALGO_BASE_CHAINCONTEXT_H

#include "Options.h"
#include "RecoParams.h"
#include <memory>
#include <optional>

namespace cbm
{
  // cbm::Monitor must be forward declared. This prevents an issue in older ROOT versions,
  // where cling would crash upon parsing the header file (in some stl header)
  class Monitor;
}  // namespace cbm

namespace cbm::algo
{
  struct ChainContext {
    // default constructor / destructor
    // But have to be defined in the .cxx file, because of forward declaration of cbm::Monitor
    ChainContext();
    ~ChainContext();

    Options opts;
    RecoParams recoParams;
    std::unique_ptr<cbm::Monitor> monitor;  //! Monitor
  };
}  // namespace cbm::algo

#endif