Project
Loading...
Searching...
No Matches
GPUTPCGMPolynomialField.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
16using namespace o2::gpu;
17
18#if !defined(GPUCA_GPUCODE)
19
20#include "GPUCommonConstants.h"
21#include <iostream>
22#include <iomanip>
23#include <limits>
24
25using namespace std;
26
28{
29 const double kCLight = gpu_common_constants::kCLight;
30 typedef std::numeric_limits<float> flt;
31 cout << std::scientific;
32 cout << std::setprecision(flt::max_digits10 + 2);
33 cout << " nominal field " << mNominalBz << " [kG * (2.99792458E-4 GeV/c/kG/cm)]"
34 << " == " << mNominalBz / kCLight << " [kG]" << endl;
35
36 cout << " TpcBx[NTPCM] = { ";
37 for (int32_t i = 0; i < NTPCM; i++) {
38 cout << mTpcBx[i];
39 if (i < NTPCM - 1) {
40 cout << ", ";
41 } else {
42 cout << " };" << endl;
43 }
44 }
45
46 cout << " TpcBy[NTPCM] = { ";
47 for (int32_t i = 0; i < NTPCM; i++) {
48 cout << mTpcBy[i];
49 if (i < NTPCM - 1) {
50 cout << ", ";
51 } else {
52 cout << " };" << endl;
53 }
54 }
55
56 cout << " TpcBz[NTPCM] = { ";
57 for (int32_t i = 0; i < NTPCM; i++) {
58 cout << mTpcBz[i];
59 if (i < NTPCM - 1) {
60 cout << ", ";
61 } else {
62 cout << " };" << endl;
63 }
64 }
65
66 cout << "TRD field: \n"
67 << endl;
68
69 cout << " TrdBx[NTRDM] = { ";
70 for (int32_t i = 0; i < NTRDM; i++) {
71 cout << mTrdBx[i];
72 if (i < NTRDM - 1) {
73 cout << ", ";
74 } else {
75 cout << " };" << endl;
76 }
77 }
78
79 cout << " TrdBy[NTRDM] = { ";
80 for (int32_t i = 0; i < NTRDM; i++) {
81 cout << mTrdBy[i];
82 if (i < NTRDM - 1) {
83 cout << ", ";
84 } else {
85 cout << " };" << endl;
86 }
87 }
88
89 cout << " TrdBz[NTRDM] = { ";
90 for (int32_t i = 0; i < NTRDM; i++) {
91 cout << mTrdBz[i];
92 if (i < NTRDM - 1) {
93 cout << ", ";
94 } else {
95 cout << " };" << endl;
96 }
97 }
98
99 cout << "ITS field: \n"
100 << endl;
101
102 cout << " ItsBx[NITSM] = { ";
103 for (int32_t i = 0; i < NITSM; i++) {
104 cout << mItsBx[i];
105 if (i < NITSM - 1) {
106 cout << ", ";
107 } else {
108 cout << " };" << endl;
109 }
110 }
111
112 cout << " ItsBy[NITSM] = { ";
113 for (int32_t i = 0; i < NITSM; i++) {
114 cout << mItsBy[i];
115 if (i < NITSM - 1) {
116 cout << ", ";
117 } else {
118 cout << " };" << endl;
119 }
120 }
121
122 cout << " ItsBz[NITSM] = { ";
123 for (int32_t i = 0; i < NITSM; i++) {
124 cout << mItsBz[i];
125 if (i < NITSM - 1) {
126 cout << ", ";
127 } else {
128 cout << " };" << endl;
129 }
130 }
131}
132
133#else
134
136{
137 // do nothing
138}
139
140#endif
int32_t i
static constexpr const int32_t NTPCM
static constexpr const int32_t NTRDM
static constexpr const int32_t NITSM
Defining DataPointCompositeObject explicitly as copiable.