CbmRoot
Loading...
Searching...
No Matches
CbmKfTrackingGeoSetupContainer.cxx
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
11
13
14#include <Logger.h>
15
20
21// ---------------------------------------------------------------------------------------------------------------------
22//
24{
25 static TrackingGeoSetupContainer instance;
26 if (instance.fpGeoSetup == nullptr) {
27 LOG(info) << "TrackingGeoSetupContainer: creating tracking geometry setup in double precision with original "
28 "magnetic field";
29
30 auto factory = TrackingGeoSetupFactory{};
31 instance.fpGeoSetup =
32 std::make_shared<Setup<double>>(std::move(factory.Create(FloatTag<double>{}, EFieldMode::Original)));
33 }
34 return instance;
35}
A container for shared tracking geo setup.
static TrackingGeoSetupContainer & Instance()
Instance access.
KF-framework representation of the detector setup.
Definition KfSetup.h:37
A shared instance of the tracking geo setup in double precision.
TrackingGeoSetupContainer(const TrackingGeoSetupContainer &)=delete
Disable copy and move.
std::shared_ptr< algo::kf::Setup< double > > fpGeoSetup
Shared geo-setup.
A factory for geometry tracking KF-setup in CBM.
EFieldMode
Enumiration for the magnetic field representation variants in the track fitting algorithm.
Definition KfDefs.h:108
A floating-point tag for tag dispatching.
Definition KfDefs.h:117