26 constexpr char IndentChar =
'\t';
27 std::stringstream msg;
28 std::string indent(indentLevel, IndentChar);
29 msg << indent <<
"Field slices:";
30 for (
int iSlice = 0; iSlice < GetNofFieldSlices(); ++iSlice) {
31 const auto& fldSlice = fvFieldSlices[iSlice];
32 msg <<
'\n' << indent << iSlice <<
") " << fldSlice.ToString(0, verbose);
42 constexpr char IndentChar =
'\t';
43 std::stringstream msg;
44 std::string indent(indentLevel, IndentChar);
45 msg << indent <<
"Original field function";
46 msg << indent <<
"Field slice z-positions: ";
47 for (
int iSlice = 0; iSlice < GetNofFieldSlices(); ++iSlice) {
48 msg <<
"\n " << indent << iSlice <<
") " << fvFieldSliceZ[iSlice];
59 foFldOrig->RemoveSlice(iLayer);
62 foFldIntrpl->RemoveSlice(iLayer);
71 constexpr char IndentChar =
'\t';
72 std::stringstream msg;
73 std::string indent(indentLevel, IndentChar);
74 msg << indent <<
"Field near primary vertex:\n" << this->fPrimVertexField.ToString(indentLevel + 1, verbose) <<
'\n';
75 msg << indent <<
"Field type: " <<
static_cast<int>(this->fFieldType) <<
'\n';
76 msg << indent <<
"Field mode: " <<
static_cast<int>(this->fFieldMode) <<
'\n';
78 msg << foFldOrig->ToString(indentLevel, verbose);
81 msg << foFldIntrpl->ToString(indentLevel, verbose);
99 std::stringstream msg;
100 msg <<
"FieldFactory::AddReference: attempt of adding another slice reference with zRef = " << zRef
101 <<
"(halfSizeX = " << halfSizeX <<
", halfSizeY = " << halfSizeY <<
").\nThe next slice references were "
104 msg <<
"\n\t- halfSizeX = " << el.fHalfSizeX <<
", halfSizeY = " << el.fHalfSizeY <<
", zRef = " << el.fRefZ;
106 throw std::logic_error(msg.str());
Magnetic field representation in KF (header)
A helper class to instantiate a Field object.
void AddSliceReference(double halfSizeX, double halfSizeY, double refZ)
Adds a slice reference.
std::set< SliceRef > fSliceReferences
Set of slice references.
Magnetic field manager class.
std::string ToString(int indentLevel, int verbose) const
String representation of the class.
void RemoveSlice(int iLayer)
Removes a field slice.
Data members of the Field class (primary template)
EFieldMode
Enumiration for the magnetic field representation variants in the track fitting algorithm.
@ Intrpl
Interpolated magnetic field.
@ Orig
Original magnetic field function.