OPALX (Object Oriented Parallel Accelerator Library for Exascale)
MINIorX
OPALX
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
22
#include "
Fields/FM3DH5BlockBase.h
"
23
24
#include <vector>
25
26
class
FM3DMagnetoStaticH5Block
:
public
FM3DH5BlockBase
{
27
28
public
:
29
virtual
bool
getFieldstrength
(
30
const
Vector_t<double, 3>
&R,
Vector_t<double, 3>
&E,
Vector_t<double, 3>
&B)
const
;
31
32
private
:
33
FM3DMagnetoStaticH5Block
(
34
std::string aFilename);
35
36
virtual
~FM3DMagnetoStaticH5Block
(
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
FM3DH5BlockBase.h
Fieldmap
Definition:
Fieldmap.h:57
FM3DH5BlockBase
Definition:
FM3DH5BlockBase.h:31
FM3DMagnetoStaticH5Block
Definition:
FM3DMagnetoStaticH5Block.h:26
FM3DMagnetoStaticH5Block::freeMap
virtual void freeMap()
Definition:
FM3DMagnetoStaticH5Block.cpp:62
FM3DMagnetoStaticH5Block::~FM3DMagnetoStaticH5Block
virtual ~FM3DMagnetoStaticH5Block()
Definition:
FM3DMagnetoStaticH5Block.cpp:32
FM3DMagnetoStaticH5Block::FM3DMagnetoStaticH5Block
FM3DMagnetoStaticH5Block(std::string aFilename)
Definition:
FM3DMagnetoStaticH5Block.cpp:22
FM3DMagnetoStaticH5Block::FieldstrengthBz_m
std::vector< double > FieldstrengthBz_m
3D array with Bz
Definition:
FM3DMagnetoStaticH5Block.h:48
FM3DMagnetoStaticH5Block::getFrequency
virtual double getFrequency() const
Definition:
FM3DMagnetoStaticH5Block.cpp:86
FM3DMagnetoStaticH5Block::FieldstrengthBy_m
std::vector< double > FieldstrengthBy_m
3D array with By
Definition:
FM3DMagnetoStaticH5Block.h:50
FM3DMagnetoStaticH5Block::readMap
virtual void readMap()
Definition:
FM3DMagnetoStaticH5Block.cpp:36
FM3DMagnetoStaticH5Block::getFieldstrength
virtual bool getFieldstrength(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) const
Definition:
FM3DMagnetoStaticH5Block.cpp:75
FM3DMagnetoStaticH5Block::FieldstrengthBx_m
std::vector< double > FieldstrengthBx_m
3D array with Bx
Definition:
FM3DMagnetoStaticH5Block.h:49
ippl::Vector
Definition:
Vector.h:23
src
Fields
FM3DMagnetoStaticH5Block.h
Generated on Fri Jan 23 2026 14:40:00 for OPALX (Object Oriented Parallel Accelerator Library for Exascale) by
1.9.3