BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnFieldMapSym3.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- BmnFieldMapSym3 header file -----
3// ----- Created 12/01/04 by M. Al/Turany (BmnField.h) -----
4// ----- Redesign 20/02/06 by V. Friese -----
5// -------------------------------------------------------------------------
6
7/** BmnFieldMapSym3.h
8 ** @author M.Al/Turany <m.al-turany@gsi.de>
9 ** @author V.Friese <v.friese@gsi.de>
10 ** @since 12.01.2004
11 ** @version1.0
12 **
13 ** Magnetic field map on a 3-D grid with symmetries w.r.t. the three
14 ** coordinate axes. The map is only stored in the octant x>0, y>0, z>0.
15 ** The symmetries are:
16 ** - Bx is antisymmetric in x and symmetric in y and z
17 ** - By is symmetric in x, y and z
18 ** - Bz is antisymmetric in x and z and symmetric in y
19 **
20 ** Field values are hold and returned in kG.
21 **/
22
23#ifndef BMNMAGFIELDMAPSYM3_H
24#define BMNMAGFIELDMAPSYM3_H 1
25
26#include "BmnFieldMap.h"
27#include "BmnFieldPar.h"
28
29class BmnFieldMapSym3 : public BmnFieldMap
30{
31 public:
32 /** Default constructor **/
34
35 /** Standard constructor
36 ** @param mapName Name of field map
37 **/
38 BmnFieldMapSym3(const char* mapName);
39
40 /** Constructor from BmnFieldPar **/
42
43 /** Destructor **/
45
46 /** Get the field components at a certain point
47 ** @param x,y,z Point coordinates (global) [cm]
48 ** @value Bx,By,Bz Field components [kG]
49 **/
53
54 /** Determine whether a point is inside the field map
55 ** @param x,y,z Point coordinates (global) [cm]
56 ** @param ix,iy,iz (return) Grid cell
57 ** @param dx,dy,dz (return) Distance from grid point [cm] if inside
58 ** @value kTRUE if inside map, else kFALSE
59 **/
61 Double_t y,
62 Double_t z,
63 Int_t& ix,
64 Int_t& iy,
65 Int_t& iz,
66 Double_t& dx,
67 Double_t& dy,
68 Double_t& dz);
69
71
72 protected:
73 /** Hemispheres of a point (for temporary use) **/
74 mutable Double_t fHemiX, fHemiY, fHemiZ; //!
75
77};
78
79#endif
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
BmnFieldMapSym3.h.
Double_t fHemiX
Hemispheres of a point (for temporary use).
virtual Double_t GetBy(Double_t x, Double_t y, Double_t z)
virtual Bool_t IsInside(Double_t x, Double_t y, Double_t z, Int_t &ix, Int_t &iy, Int_t &iz, Double_t &dx, Double_t &dy, Double_t &dz)
Determine whether a point is inside the field map.
virtual Double_t GetBx(Double_t x, Double_t y, Double_t z)
Get the field components at a certain point.
void FillParContainer()
BmnFieldMapSym3()
Default constructor.
virtual ~BmnFieldMapSym3()
Destructor.
BmnFieldMapSym3(BmnFieldPar *fieldPar)
Constructor from BmnFieldPar.
virtual Double_t GetBz(Double_t x, Double_t y, Double_t z)
BmnFieldMapSym3(const char *mapName)
Standard constructor.