10#ifndef FIELD_SHIPCOMPFIELD_H_
11#define FIELD_SHIPCOMPFIELD_H_
17#include "TVirtualMagField.h"
26 ShipCompField(
const std::string& label, TVirtualMagField* firstField);
34 ShipCompField(
const std::string& label, TVirtualMagField* firstField,
35 TVirtualMagField* secondField);
43 const std::vector<TVirtualMagField*>& theFields);
54 virtual void Field(
const Double_t* position, Double_t*
B);
Class that defines a magnetic field composed from many fields.
size_t nComposite() const
Get the number of fields in the composite.
std::vector< TVirtualMagField * > theFields_
The vector of the various magnetic field pointers comprising the composite.
ShipCompField(const ShipCompField &)=delete
Deleted copy and assignment operators.
ClassDef(ShipCompField, 1)
ClassDef for ROOT.
ShipCompField & operator=(const ShipCompField &)=delete
std::span< TVirtualMagField *const > getCompFields() const
Get the vector of fields.
virtual void Field(const Double_t *position, Double_t *B)
virtual ~ShipCompField()
Destructor.