BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnMapPar.cxx
Go to the documentation of this file.
1#include "BmnMapPar.h"
2
3#include "BmnFieldMap.h"
4#include "FairParamList.h"
5
6#include <iostream>
7
8using namespace std;
9
10// ------ Constructor --------------------------------------------------
11BmnMapPar::BmnMapPar(const char* name, const char* title, const char* context)
12 : FairParGenericSet(name, title, context)
13{
14 fType = -1;
15 fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
16 fMapName = "";
17 fPosX = fPosY = fPosZ = 0.;
18 fScale = 0.;
19}
20
21// -------------------------------------------------------------------------
23{
24 fType = -1;
25 fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
26 fMapName = "";
27 fPosX = fPosY = fPosZ = 0.;
28 fScale = 0.;
29}
30
31// ------ Destructor ---------------------------------------------------
33
34// ------ Put parameters -----------------------------------------------
35void BmnMapPar::putParams(FairParamList* list)
36{
37
38 if (!list)
39 return;
40
41 list->add("Field Type", fType);
42 list->add("Field map name", fMapName);
43 list->add("Field x position", fPosX);
44 list->add("Field y position", fPosY);
45 list->add("Field z position", fPosZ);
46 list->add("Field scaling factor", fScale);
47}
48
49// -------- Get parameters ---------------------------------------------
50Bool_t BmnMapPar::getParams(FairParamList* list)
51{
52
53 if (!list)
54 return kFALSE;
55
56 if (!list->fill("Field Type", &fType))
57 return kFALSE;
58
59 Text_t mapName[80];
60 if (!list->fill("Field map name", mapName, 80))
61 return kFALSE;
62 fMapName = mapName;
63 if (!list->fill("Field x position", &fPosX))
64 return kFALSE;
65 if (!list->fill("Field y position", &fPosY))
66 return kFALSE;
67 if (!list->fill("Field z position", &fPosZ))
68 return kFALSE;
69 if (!list->fill("Field scaling factor", &fScale))
70 return kFALSE;
71 return kTRUE;
72}
73
74// --------- Set parameters from FairField ------------------------------
76{
77
78 if (!field) {
79 cerr << "-W- BmnMapPar::SetParameters: Empty field pointer!" << endl;
80 return;
81 }
82
83 BmnFieldMap* fieldMap = (BmnFieldMap*)field;
84 fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
85 fMapName = field->GetName();
86 fPosX = fieldMap->GetPositionX();
87 fPosY = fieldMap->GetPositionY();
88 fPosZ = fieldMap->GetPositionZ();
89 fScale = fieldMap->GetScale();
90 fType = fieldMap->GetType();
91}
bool Bool_t
char Text_t
constexpr Bool_t kFALSE
constexpr Bool_t kTRUE
Double_t GetPositionX() const
Accessor to field centre position in global system.
Definition BmnFieldMap.h:85
Double_t GetPositionY() const
Definition BmnFieldMap.h:86
Double_t GetPositionZ() const
Definition BmnFieldMap.h:87
Double_t GetScale() const
Accessor to global scaling factor.
Definition BmnFieldMap.h:90
Double_t fYmin
Definition BmnMapPar.h:56
void SetParameters(FairField *field)
Set parameters from FairField.
Definition BmnMapPar.cxx:75
Double_t fXmin
Field limits in case of constant field.
Definition BmnMapPar.h:55
BmnMapPar()
default constructor
Definition BmnMapPar.cxx:22
Double_t fZmax
Definition BmnMapPar.h:57
TString fMapName
Field map name in case of field map.
Definition BmnMapPar.h:60
~BmnMapPar()
Destructor.
Definition BmnMapPar.cxx:32
Double_t fPosY
Definition BmnMapPar.h:63
virtual Bool_t getParams(FairParamList *list)
Get parameters.
Definition BmnMapPar.cxx:50
Double_t fScale
Scaling factor for field map.
Definition BmnMapPar.h:66
Double_t fPosZ
Definition BmnMapPar.h:63
virtual void putParams(FairParamList *list)
Put parameters.
Definition BmnMapPar.cxx:35
Int_t fType
Field type 0 = constant field 1 = field map 2 = field map sym2 (symmetries in x and y) 3 = field map ...
Definition BmnMapPar.h:52
Double_t fXmax
Definition BmnMapPar.h:55
Double_t fYmax
Definition BmnMapPar.h:56
Double_t fZmin
Definition BmnMapPar.h:57
Double_t fPosX
Field centre position for field map.
Definition BmnMapPar.h:63
Definition json.hpp:4446