k4SimGeant4
Loading...
Searching...
No Matches
MapField2DRegular.h
Go to the documentation of this file.
1#ifndef SIMG4COMMON_MAPFIELD2DREGULAR_H
2#define SIMG4COMMON_MAPFIELD2DREGULAR_H
3
4// Geant 4
5#include "G4MagneticField.hh"
6#include <vector>
7
16namespace sim {
17class MapField2DRegular : public G4MagneticField {
18public:
19 // Constructor
20 explicit MapField2DRegular(const std::vector<double>& bR, const std::vector<double>& bZ,
21 const std::vector<double>& posR, const std::vector<double>& posZ);
22 // Destructor
23 virtual ~MapField2DRegular() {}
24
28 virtual void GetFieldValue(const G4double point[4], double* bField) const final;
29
30private:
32 std::vector<std::vector<double>> m_fieldR;
34 std::vector<std::vector<double>> m_fieldZ;
40 size_t m_nR, m_nZ;
41};
42} // namespace sim
43
44#endif /* SIMG4COMMON_MAPFIELD2DREGULAR_H */
Magnetic field from the COMSOL field map.
Definition MapField2DRegular.h:17
virtual void GetFieldValue(const G4double point[4], double *bField) const final
Get the value of the magnetic field value at position.
Definition MapField2DRegular.cpp:90
size_t m_nZ
Definition MapField2DRegular.h:40
double m_maxR
Definition MapField2DRegular.h:36
size_t m_nR
Number of datapoints in every direction.
Definition MapField2DRegular.h:40
std::vector< std::vector< double > > m_fieldR
Br component of the field.
Definition MapField2DRegular.h:32
virtual ~MapField2DRegular()
Definition MapField2DRegular.h:23
double m_widthR
Definition MapField2DRegular.h:36
double m_widthZ
Definition MapField2DRegular.h:38
double m_maxZ
Definition MapField2DRegular.h:38
double m_minR
Extend of the field in r direction.
Definition MapField2DRegular.h:36
std::vector< std::vector< double > > m_fieldZ
Bz component of the field.
Definition MapField2DRegular.h:34
MapField2DRegular(const std::vector< double > &bR, const std::vector< double > &bZ, const std::vector< double > &posR, const std::vector< double > &posZ)
Definition MapField2DRegular.cpp:16
double m_minZ
Extend of the field in z direction.
Definition MapField2DRegular.h:38
Conversion between units.
Definition ConstantField.h:14