CbmRoot
Loading...
Searching...
No Matches
CbmCaParametersHandler.h
Go to the documentation of this file.
1/* Copyright (C) 2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9/* Copyright (C) 2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
10 SPDX-License-Identifier: GPL-3.0-only
11 Authors: Sergei Zharko [committer] */
12
17
18#pragma once
19
20#include "CaParameters.h"
21#include "CbmL1DetectorID.h"
22
23#include <memory>
24
25
26namespace cbm::ca
27{
30 using ParametersPtr_t = std::shared_ptr<cbm::algo::ca::Parameters<float>>;
31
32 public:
35
40 const ParametersPtr_t Get(const std::string& filename);
41
42 // Disable copy and move
47
48 private:
50 ParametersHandler() = default;
51
53 ~ParametersHandler() = default;
54
55 inline static ParametersHandler* fpInstance{nullptr};
56 inline static std::mutex fMutex{};
57 std::string fsInputName{""};
59 };
60} // namespace cbm::ca
Implementation of L1DetectorID enum class for CBM.
Handles an shared pointer of CA parameters.
std::string fsInputName
Name of the input ca.par file.
ParametersHandler & operator=(const ParametersHandler &)=delete
const ParametersPtr_t Get(const std::string &filename)
Returns an shared pointer to the parameters instance.
static ParametersHandler * fpInstance
ParametersHandler(ParametersHandler &&)=delete
ParametersHandler()=default
Default constructor.
ParametersPtr_t fpParameters
ca::Parameters instance (double precision)
ParametersHandler(const ParametersHandler &)=delete
~ParametersHandler()=default
Destructor.
static ParametersHandler * Instance()
Instance access.
std::shared_ptr< cbm::algo::ca::Parameters< float > > ParametersPtr_t
ParametersHandler & operator=(ParametersHandler &&)=delete