26 constexpr char IndentChar =
'\t';
27 std::stringstream msg;
28 std::string indent(indentLevel, IndentChar);
29 msg << indent <<
"Interpolated magnetic field";
30 msg <<
"\n" << indent <<
"Field type: " <<
static_cast<int>(fFieldType);
31 msg <<
'\n' << indent <<
"Field in the primary vertex: " << fPrimVertexField.ToString();
32 msg <<
'\n' << indent <<
"Field slices:";
33 for (
int iSlice = 0; iSlice < GetNofFieldSlices(); ++iSlice) {
34 const auto& fldSlice = fvFieldSlices[iSlice];
35 msg <<
'\n' << indent << iSlice <<
") " << fldSlice.ToString(0, verbose);
45 constexpr char IndentChar =
'\t';
46 std::stringstream msg;
47 std::string indent(indentLevel, IndentChar);
48 msg << indent <<
"Original field function";
49 msg <<
"\n" << indent <<
"Field type: " <<
static_cast<int>(fFieldType);
50 msg <<
"\n" << indent <<
"Field in the primary vertex: " << fPrimVertexField.ToString();
51 msg <<
"\n" << indent <<
"Field slice z-positions: ";
52 for (
int iSlice = 0; iSlice < GetNofFieldSlices(); ++iSlice) {
53 msg <<
"\n " << indent << iSlice <<
") " << fvFieldSliceZ[iSlice];
63 constexpr char IndentChar =
'\t';
64 std::stringstream msg;
65 std::string indent(indentLevel, IndentChar);
66 kf::visit([&msg, indentLevel, verbose](
const auto&
v) { msg <<
v.ToString(indentLevel, verbose); },
fFieldVariant);
83 std::stringstream msg;
84 msg <<
"FieldBuilder::AddReference: attempt of adding another slice reference with zRef = " << zRef
85 <<
"(halfSizeX = " << halfSizeX <<
", halfSizeY = " << halfSizeY <<
").\nThe next slice references were "
88 msg <<
"\n\t- halfSizeX = " << el.fHalfSizeX <<
", halfSizeY = " << el.fHalfSizeY <<
", zRef = " << el.fRefZ;
90 throw std::logic_error(msg.str());
Magnetic field representation in KF (header)
void AddSliceReference(double halfSizeX, double halfSizeY, double refZ)
Adds a slice reference.
std::string ToString(int indentLevel, int verbose) const
String representation of the class.
A builder class for kf::Field.
std::set< SliceRef > fSliceReferences
Set of slice references.
Magnetic field manager class.
FieldVariant_t fFieldVariant
Concrete field implementation.
Data members of the Field class (primary template)
EFieldMode
Enumiration for the magnetic field representation variants in the track fitting algorithm.