SND@LHC Software
Loading...
Searching...
No Matches
ShipCompField.h
Go to the documentation of this file.
1
6#ifndef ShipCompField_H
7#define ShipCompField_H
8
9#include "TVirtualMagField.h"
10
11#include <string>
12#include <vector>
13
14class ShipCompField: public TVirtualMagField
15{
16
17 public:
18
20
24 ShipCompField(const std::string& label, TVirtualMagField* firstField);
25
27
32 ShipCompField(const std::string& label, TVirtualMagField* firstField,
33 TVirtualMagField* secondField);
34
36
40 ShipCompField(const std::string& label, const std::vector<TVirtualMagField*>& theFields);
41
43 virtual ~ShipCompField();
44
46
50 virtual void Field(const Double_t* position, Double_t* B);
51
53
56 size_t nComposite() const {return theFields_.size();}
57
59
62 std::vector<TVirtualMagField*> getCompFields() const {return theFields_;}
63
66
67 protected:
68
69 private:
70
74
76 std::vector<TVirtualMagField*> theFields_;
77
78};
79
80#endif
81
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 * > getCompFields() const
Get the vector of fields.
std::vector< TVirtualMagField * > theFields_
The vector of the various magnetic field pointers comprising the composite.
ShipCompField & operator=(const ShipCompField &)
ShipCompField(const ShipCompField &)
Private copy and assignment operators.
ClassDef(ShipCompField, 1)
ClassDef for ROOT.
virtual void Field(const Double_t *position, Double_t *B)
The total magnetic field from all of the composite sources (linear superposition)
virtual ~ShipCompField()
Destructor.