OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
FM3DMagnetoStaticH5Block.h
Go to the documentation of this file.
1//
2// Class FM3DMagnetoStaticH5Block
3// Class for magneto-static 3D field-maps stored in H5hut files.
4//
5// Copyright (c) 2020, Achim Gsell, Paul Scherrer Institut, Villigen PSI, Switzerland
6// All rights reserved.
7//
8// This file is part of OPAL.
9//
10// OPAL is free software: you can redistribute it and/or modify
11// it under the terms of the GNU General Public License as published by
12// the Free Software Foundation, either version 3 of the License, or
13// (at your option) any later version.
14//
15// You should have received a copy of the GNU General Public License
16// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
17//
18
19#ifndef CLASSIC_FIELDMAP3DMAGNETOSTATICH5BLOCK_H
20#define CLASSIC_FIELDMAP3DMAGNETOSTATICH5BLOCK_H
21
23
24#include <vector>
25
27
28public:
29 virtual bool getFieldstrength (
30 const Vector_t &R, Vector_t &E, Vector_t &B) const;
31
32private:
34 std::string aFilename);
35
37 );
38
39 virtual void readMap (
40 );
41
42 virtual void freeMap (
43 );
44
45 virtual double getFrequency (
46 ) const;
47
48 std::vector<double> FieldstrengthBz_m;
49 std::vector<double> FieldstrengthBx_m;
50 std::vector<double> FieldstrengthBy_m;
52 friend class Fieldmap;
53 friend class FM3DH5BlockBase;
54};
55
56#endif
FM3DMagnetoStaticH5Block(std::string aFilename)
std::vector< double > FieldstrengthBz_m
virtual double getFrequency() const
std::vector< double > FieldstrengthBy_m
virtual bool getFieldstrength(const Vector_t &R, Vector_t &E, Vector_t &B) const
std::vector< double > FieldstrengthBx_m