CbmRoot
Loading...
Searching...
No Matches
CaPolynomialSearchWindow.cxx
Go to the documentation of this file.
1/* Copyright (C) 2022 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergey Gorbunov, Sergei Zharko [committer] */
4
6
7#include <cassert>
8#include <iomanip>
9#include <sstream>
10
12
13// ---------------------------------------------------------------------------------------------------------------------
14//
16 : fStationID(stationID)
17 , fTrackGroupID(trackGrID)
18{
19 assert(stationID > -1);
20 assert(trackGrID > -1);
21
22 // Case for constant windows (TEMPORARY: we should add selection of different windows):
23 static_assert(kNpars == 1);
24}
25
26// ---------------------------------------------------------------------------------------------------------------------
27//
29{
30 assert(id > -1 && id < kNpars);
31 fvParams[kDxMaxVsX0 * kNpars + id] = val;
32}
33
34// ---------------------------------------------------------------------------------------------------------------------
35//
37{
38 assert(id > -1 && id < kNpars);
39 fvParams[kDxMinVsX0 * kNpars + id] = val;
40}
41
42// ---------------------------------------------------------------------------------------------------------------------
43//
45{
46 assert(id > -1 && id < kNpars);
47 fvParams[kDxMaxVsY0 * kNpars + id] = val;
48}
49
50// ---------------------------------------------------------------------------------------------------------------------
51//
53{
54 assert(id > -1 && id < kNpars);
55 fvParams[kDxMinVsY0 * kNpars + id] = val;
56}
57
58// ---------------------------------------------------------------------------------------------------------------------
59//
61{
62 assert(id > -1 && id < kNpars);
63 fvParams[kDyMaxVsX0 * kNpars + id] = val;
64}
65
66// ---------------------------------------------------------------------------------------------------------------------
67//
69{
70 assert(id > -1 && id < kNpars);
71 fvParams[kDyMinVsX0 * kNpars + id] = val;
72}
73
74// ---------------------------------------------------------------------------------------------------------------------
75//
77{
78 assert(id > -1 && id < kNpars);
79 fvParams[kDyMaxVsY0 * kNpars + id] = val;
80}
81
82// ---------------------------------------------------------------------------------------------------------------------
83//
85{
86 assert(id > -1 && id < kNpars);
87 fvParams[kDyMinVsY0 * kNpars + id] = val;
88}
89
90// ---------------------------------------------------------------------------------------------------------------------
91//
93{
94 using std::setw;
95 std::stringstream msg;
96 msg << "----- CA hits search window: \n";
97 msg << "\tstation ID: " << fStationID << '\n';
98 msg << "\ttracks group ID: " << fTrackGroupID << '\n';
99 msg << "\tparameters:\n";
100 msg << "\t\t" << setw(6) << "No." << ' ';
101 msg << setw(12) << "dx_max(x0)" << ' ';
102 msg << setw(12) << "dx_min(x0)" << ' ';
103 msg << setw(12) << "dx_max(y0)" << ' ';
104 msg << setw(12) << "dx_min(y0)" << ' ';
105 msg << setw(12) << "dy_max(x0)" << ' ';
106 msg << setw(12) << "dy_min(x0)" << ' ';
107 msg << setw(12) << "dy_max(y0)" << ' ';
108 msg << setw(12) << "dy_min(y0)" << '\n';
109 for (int iPar = 0; iPar < kNpars; ++iPar) {
110 msg << "\t\t" << setw(6) << iPar << ' ';
111 for (int iDep = 0; iDep < kNdeps; ++iDep) {
112 msg << setw(12) << fvParams[iDep * kNpars + iPar] << ' ';
113 }
114 }
115 return msg.str();
116}
PolynomialSearchWindow()=default
Default constructor.
Class L1PolynomialSearchWindow defines a parameterisation of hits search window for CA tracking algor...
std::string ToString() const
String representation of the contents.
void SetParamDyMaxVsX0(int id, float val)
Sets parameters for dy_max(x0)
void SetParamDxMinVsY0(int id, float val)
Sets parameters for dx_min(y0)
static constexpr unsigned char kNdeps
Number of the dependencies.
void SetParamDxMaxVsY0(int id, float val)
Sets parameters for dx_max(y0)
void SetParamDyMaxVsY0(int id, float val)
Sets parameters for dy_max(y0)
void SetParamDyMinVsX0(int id, float val)
Sets parameters for dy_min(x0)
int fStationID
Global index of active tracking station.
void SetParamDxMinVsX0(int id, float val)
Sets parameters for dx_min(x0)
void SetParamDyMinVsY0(int id, float val)
Sets parameters for dy_min(y0)
std::array< float, kNdeps *kNpars > fvParams
Search window parameter array containing parameters from.
static constexpr unsigned char kNpars
Max number of parameters for one dependency.
void SetParamDxMaxVsX0(int id, float val)
Sets parameters for dx_max(x0)