CbmRoot
Loading...
Searching...
No Matches
CbmKfTarget.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
10// TODO: Move this class somewhere in the cbmroot/core
11
12#pragma once
13
14#include "KfDefs.h"
15
16#include <mutex>
17
18class TString;
19class TGeoNode;
20
21namespace cbm::kf
22{
25 class Target {
26 public:
28 double GetX() const { return fX; }
29
31 double GetY() const { return fY; }
32
34 double GetZ() const { return fZ; }
35
37 double GetDz() const { return fDz; }
38
40 double GetRmax() const { return fRmax; }
41
43 static Target* Instance();
44
45 // Copy and move elimination
46 Target(const Target&) = delete;
47 Target(Target&&) = delete;
48 Target& operator=(const Target&) = delete;
49 Target& operator=(Target&&) = delete;
50
51 protected:
53 Target() = default;
54
55
57 ~Target() = default;
58
60 void Init();
61
63 static void FindTargetNode(TString& targetPath, TGeoNode*& targetNode);
64
70
71 private:
73 static std::mutex fMutex;
74 };
75} // namespace cbm::kf
Common constant definitions for the Kalman Filter library.
CBM target accessor and property handler.
Definition CbmKfTarget.h:25
void Init()
Target initializer.
Target(const Target &)=delete
static std::mutex fMutex
Definition CbmKfTarget.h:73
Target()=default
Default constructor.
static Target * Instance()
Instance access.
double GetRmax() const
Gets target transverse size [cm].
Definition CbmKfTarget.h:40
double GetY() const
Gets target center y-coordinate [cm].
Definition CbmKfTarget.h:31
double GetX() const
Gets target center x-coordinate [cm].
Definition CbmKfTarget.h:28
~Target()=default
Destructor.
double GetDz() const
Gets target half thickness [cm].
Definition CbmKfTarget.h:37
static Target * fpInstance
Definition CbmKfTarget.h:72
double fRmax
target transverse size [cm]
Definition CbmKfTarget.h:69
double fDz
target half-thickness [cm]
Definition CbmKfTarget.h:68
Target(Target &&)=delete
double fZ
reference z-coordinate of the target position [cm]
Definition CbmKfTarget.h:67
double fX
reference x-coordinate of the target position [cm]
Definition CbmKfTarget.h:65
double fY
reference y-coordinate of the target position [cm]
Definition CbmKfTarget.h:66
static void FindTargetNode(TString &targetPath, TGeoNode *&targetNode)
Finds a target.
double GetZ() const
Gets target center z-coordinate [cm].
Definition CbmKfTarget.h:34
Target & operator=(Target &&)=delete
Target & operator=(const Target &)=delete
constexpr double Undef< double >
Definition KfDefs.h:127