FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndFieldPar Class Reference

#include <PndFieldPar.h>

Inheritance diagram for PndFieldPar:

Public Member Functions

 PndFieldPar (const char *name, const char *title, const char *context)
 
 PndFieldPar ()
 
 ~PndFieldPar ()
 
virtual void putParams (FairParamList *list)
 
virtual Bool_t getParams (FairParamList *list)
 
void SetParameters (FairField *field)
 
Int_t GetType () const
 
Double_t GetXmin () const
 
Double_t GetXmax () const
 
Double_t GetYmin () const
 
Double_t GetYmax () const
 
Double_t GetZmin () const
 
Double_t GetZmax () const
 
Double_t GetBx () const
 
Double_t GetBy () const
 
Double_t GetBz () const
 
void MapName (TString &name)
 
Double_t GetPositionX () const
 
Double_t GetPositionY () const
 
Double_t GetPositionZ () const
 
Double_t GetScale () const
 

Private Member Functions

 ClassDef (PndFieldPar, 1)
 

Private Attributes

Int_t fType
 
Double_t fXmin
 
Double_t fXmax
 
Double_t fYmin
 
Double_t fYmax
 
Double_t fZmin
 
Double_t fZmax
 
Double_t fBx
 
Double_t fBy
 
Double_t fBz
 
TString fMapName
 
Double_t fPosX
 
Double_t fPosY
 
Double_t fPosZ
 
Double_t fScale
 

Detailed Description

Definition at line 14 of file PndFieldPar.h.

Constructor & Destructor Documentation

PndFieldPar::PndFieldPar ( const char *  name,
const char *  title,
const char *  context 
)

Standard constructor

Definition at line 12 of file PndFieldPar.cxx.

14  : FairParGenericSet(name, title, context),
15  fType(-1),
16  fXmin(0),
17  fXmax(0),
18  fYmin(0),
19  fYmax(0),
20  fZmin(0),
21  fZmax(0),
22  fBx(0),
23  fBy(0),
24  fBz(0),
25  fMapName(TString("")),
26  fPosX(0),
27  fPosY(0),
28  fPosZ(0),
29  fScale(0)
30 
31 {
32 }
Int_t fType
Definition: PndFieldPar.h:61
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t fBy
Definition: PndFieldPar.h:69
TString fMapName
Definition: PndFieldPar.h:72
Double_t fYmax
Definition: PndFieldPar.h:65
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t fBz
Definition: PndFieldPar.h:69
Double_t fZmin
Definition: PndFieldPar.h:66
Double_t fXmin
Definition: PndFieldPar.h:64
TString name
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t fBx
Definition: PndFieldPar.h:69
Double_t fScale
Definition: PndFieldPar.h:78
Double_t fXmax
Definition: PndFieldPar.h:64
PndFieldPar::PndFieldPar ( )

default constructor

Definition at line 35 of file PndFieldPar.cxx.

36  :fType(-1),
37  fXmin(0),
38  fXmax(0),
39  fYmin(0),
40  fYmax(0),
41  fZmin(0),
42  fZmax(0),
43  fBx(0),
44  fBy(0),
45  fBz(0),
46  fMapName(TString("")),
47  fPosX(0),
48  fPosY(0),
49  fPosZ(0),
50  fScale(0)
51 {
52 }
Int_t fType
Definition: PndFieldPar.h:61
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t fBy
Definition: PndFieldPar.h:69
TString fMapName
Definition: PndFieldPar.h:72
Double_t fYmax
Definition: PndFieldPar.h:65
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t fBz
Definition: PndFieldPar.h:69
Double_t fZmin
Definition: PndFieldPar.h:66
Double_t fXmin
Definition: PndFieldPar.h:64
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t fBx
Definition: PndFieldPar.h:69
Double_t fScale
Definition: PndFieldPar.h:78
Double_t fXmax
Definition: PndFieldPar.h:64
PndFieldPar::~PndFieldPar ( )

Destructor

Definition at line 56 of file PndFieldPar.cxx.

56 { }

Member Function Documentation

PndFieldPar::ClassDef ( PndFieldPar  ,
 
)
private
Double_t PndFieldPar::GetBx ( ) const
inline

Definition at line 44 of file PndFieldPar.h.

References fBx.

44 { return fBx; }
Double_t fBx
Definition: PndFieldPar.h:69
Double_t PndFieldPar::GetBy ( ) const
inline

Definition at line 45 of file PndFieldPar.h.

References fBy.

45 { return fBy; }
Double_t fBy
Definition: PndFieldPar.h:69
Double_t PndFieldPar::GetBz ( ) const
inline

Definition at line 46 of file PndFieldPar.h.

References fBz.

46 { return fBz; }
Double_t fBz
Definition: PndFieldPar.h:69
Bool_t PndFieldPar::getParams ( FairParamList *  list)
virtual

Get parameters

Definition at line 95 of file PndFieldPar.cxx.

References fBx, fBy, fBz, fMapName, fPosX, fPosY, fPosZ, fScale, fType, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.

95  {
96 
97  if ( ! list ) return kFALSE;
98 
99  if ( ! list->fill("Field Type", &fType) ) return kFALSE;
100 
101  if ( fType == 0 ) { // constant field
102  if ( ! list->fill("Field min x", &fXmin) ) return kFALSE;
103  if ( ! list->fill("Field max x", &fXmax) ) return kFALSE;
104  if ( ! list->fill("Field min y", &fYmin) ) return kFALSE;
105  if ( ! list->fill("Field max y", &fYmax) ) return kFALSE;
106  if ( ! list->fill("Field min z", &fZmin) ) return kFALSE;
107  if ( ! list->fill("Field max z", &fZmax) ) return kFALSE;
108  if ( ! list->fill("Field Bx", &fBx) ) return kFALSE;
109  if ( ! list->fill("Field By", &fBy) ) return kFALSE;
110  if ( ! list->fill("Field Bz", &fBz) ) return kFALSE;
111  }
112 
113  else if (fType >=1 && fType <= 4) { // field map
114  Text_t mapName[80];
115  if ( ! list->fill("Field map name", mapName, 80) ) return kFALSE;
116  fMapName = mapName;
117  if ( ! list->fill("Field x position", &fPosX) ) return kFALSE;
118  if ( ! list->fill("Field y position", &fPosY) ) return kFALSE;
119  if ( ! list->fill("Field z position", &fPosZ) ) return kFALSE;
120  if ( ! list->fill("Field scaling factor", &fScale) ) return kFALSE;
121  }
122  return kTRUE;
123 
124 }
Int_t fType
Definition: PndFieldPar.h:61
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t fBy
Definition: PndFieldPar.h:69
TString fMapName
Definition: PndFieldPar.h:72
Double_t fYmax
Definition: PndFieldPar.h:65
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t fBz
Definition: PndFieldPar.h:69
Double_t fZmin
Definition: PndFieldPar.h:66
Double_t fXmin
Definition: PndFieldPar.h:64
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t fBx
Definition: PndFieldPar.h:69
Double_t fScale
Definition: PndFieldPar.h:78
Double_t fXmax
Definition: PndFieldPar.h:64
Double_t PndFieldPar::GetPositionX ( ) const
inline

Definition at line 48 of file PndFieldPar.h.

References fPosX.

Referenced by PndFieldMap::PndFieldMap().

48 { return fPosX; }
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t PndFieldPar::GetPositionY ( ) const
inline

Definition at line 49 of file PndFieldPar.h.

References fPosY.

Referenced by PndFieldMap::PndFieldMap().

49 { return fPosY; }
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t PndFieldPar::GetPositionZ ( ) const
inline

Definition at line 50 of file PndFieldPar.h.

References fPosZ.

Referenced by PndFieldMap::PndFieldMap().

50 { return fPosZ; }
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t PndFieldPar::GetScale ( ) const
inline

Definition at line 51 of file PndFieldPar.h.

References fScale.

Referenced by PndFieldMap::PndFieldMap().

51 { return fScale; }
Double_t fScale
Definition: PndFieldPar.h:78
Int_t PndFieldPar::GetType ( ) const
inline

Accessors

Definition at line 37 of file PndFieldPar.h.

References fType.

Referenced by PndFieldCreator::createFairField(), and PndFieldMap::PndFieldMap().

37 { return fType; }
Int_t fType
Definition: PndFieldPar.h:61
Double_t PndFieldPar::GetXmax ( ) const
inline

Definition at line 39 of file PndFieldPar.h.

References fXmax.

39 { return fXmax; }
Double_t fXmax
Definition: PndFieldPar.h:64
Double_t PndFieldPar::GetXmin ( ) const
inline

Definition at line 38 of file PndFieldPar.h.

References fXmin.

38 { return fXmin; }
Double_t fXmin
Definition: PndFieldPar.h:64
Double_t PndFieldPar::GetYmax ( ) const
inline

Definition at line 41 of file PndFieldPar.h.

References fYmax.

41 { return fYmax; }
Double_t fYmax
Definition: PndFieldPar.h:65
Double_t PndFieldPar::GetYmin ( ) const
inline

Definition at line 40 of file PndFieldPar.h.

References fYmin.

40 { return fYmin; }
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t PndFieldPar::GetZmax ( ) const
inline

Definition at line 43 of file PndFieldPar.h.

References fZmax.

43 { return fZmax; }
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t PndFieldPar::GetZmin ( ) const
inline

Definition at line 42 of file PndFieldPar.h.

References fZmin.

42 { return fZmin; }
Double_t fZmin
Definition: PndFieldPar.h:66
void PndFieldPar::MapName ( TString name)
inline

Definition at line 47 of file PndFieldPar.h.

References fMapName.

Referenced by PndFieldMap::PndFieldMap().

47 { name = fMapName; }
TString fMapName
Definition: PndFieldPar.h:72
TString name
void PndFieldPar::putParams ( FairParamList *  list)
virtual

Put parameters

Definition at line 62 of file PndFieldPar.cxx.

References fBx, fBy, fBz, fMapName, fPosX, fPosY, fPosZ, fScale, fType, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.

62  {
63 
64  if ( ! list ) return;
65 
66  list->add("Field Type", fType);
67 
68  if ( fType == 0 ) { // constant field
69  list->add("Field min x", fXmin);
70  list->add("Field max x", fXmax);
71  list->add("Field min y", fYmin);
72  list->add("Field max y", fYmax);
73  list->add("Field min z", fZmin);
74  list->add("Field max z", fZmax);
75  list->add("Field Bx", fBx);
76  list->add("Field By", fBy);
77  list->add("Field Bz", fBz);
78  }
79 
80  else if (fType >=1 && fType <= 4) { // field map
81  list->add("Field map name", fMapName);
82  list->add("Field x position", fPosX);
83  list->add("Field y position", fPosY);
84  list->add("Field z position", fPosZ);
85  list->add("Field scaling factor", fScale);
86 
87  }
88 
89 }
Int_t fType
Definition: PndFieldPar.h:61
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t fBy
Definition: PndFieldPar.h:69
TString fMapName
Definition: PndFieldPar.h:72
Double_t fYmax
Definition: PndFieldPar.h:65
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t fBz
Definition: PndFieldPar.h:69
Double_t fZmin
Definition: PndFieldPar.h:66
Double_t fXmin
Definition: PndFieldPar.h:64
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t fBx
Definition: PndFieldPar.h:69
Double_t fScale
Definition: PndFieldPar.h:78
Double_t fXmax
Definition: PndFieldPar.h:64
void PndFieldPar::SetParameters ( FairField *  field)

Set parameters from FairField

Definition at line 130 of file PndFieldPar.cxx.

References fBx, fBy, fBz, fi, fMapName, fPosX, fPosY, fPosZ, fScale, fType, fXmax, fXmin, fYmax, fYmin, fZmax, fZmin, PndConstField::GetBx(), PndConstField::GetBy(), PndConstField::GetBz(), PndMultiField::GetFieldList(), PndFieldMap::GetPositionX(), PndFieldMap::GetPositionY(), PndFieldMap::GetPositionZ(), PndFieldMap::GetScale(), PndConstField::GetXmax(), PndConstField::GetXmin(), PndConstField::GetYmax(), PndConstField::GetYmin(), PndConstField::GetZmax(), and PndConstField::GetZmin().

130  {
131 
132  if ( ! field ) {
133  cerr << "-W- PndFieldPar::SetParameters: Empty field pointer!" << endl;
134  return;
135  }
136 
137  fType = field->GetType();
138 
139  if ( fType == 0 ) { // constant field
140  PndConstField* fieldConst = (PndConstField*) field;
141  fBx = fieldConst->GetBx();
142  fBy = fieldConst->GetBy();
143  fBz = fieldConst->GetBz();
144  fXmin = fieldConst->GetXmin();
145  fXmax = fieldConst->GetXmax();
146  fYmin = fieldConst->GetYmin();
147  fYmax = fieldConst->GetYmax();
148  fZmin = fieldConst->GetZmin();
149  fZmax = fieldConst->GetZmax();
150  fMapName = "";
151  fPosX = fPosY = fPosZ = fScale = 0.;
152  }
153 
154  else if ( fType >=1 && fType <= 4 ) { // field map
155  PndFieldMap* fieldMap = (PndFieldMap*) field;
156  fBx = fBy = fBz = 0.;
157  fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
158 
159  fMapName = field->GetName();
160  fPosX = fieldMap->GetPositionX();
161  fPosY = fieldMap->GetPositionY();
162  fPosZ = fieldMap->GetPositionZ();
163  fScale = fieldMap->GetScale();
164  } else if (fType ==5) {
165 
166  PndMultiField *fMulti=(PndMultiField *)field;
167  TObjArray *fieldlist = fMulti->GetFieldList();
168  TIterator* FieldIter = fieldlist->MakeIterator();
169  FieldIter->Reset();
170  FairField *fi=0;
171  while( (fi = (FairField*)FieldIter->Next() ) ) {
172  SetParameters(fi);
173  }
174 
175  delete FieldIter;
176  }else {
177  cerr << "-W- PndFieldPar::SetParameters: Unknown field type "
178  << fType << "!" << endl;
179  fBx = fBy = fBz = 0.;
180  fXmin = fXmax = fYmin = fYmax = fZmin = fZmax = 0.;
181  fMapName = "";
182  fPosX = fPosY = fPosZ = fScale = 0.;
183  }
184 
185  return;
186 
187 }
Int_t fType
Definition: PndFieldPar.h:61
Double_t GetYmin() const
Definition: PndConstField.h:88
Double_t GetXmin() const
Definition: PndConstField.h:86
Double_t fZmax
Definition: PndFieldPar.h:66
Double_t fBy
Definition: PndFieldPar.h:69
Double_t GetPositionY() const
Definition: PndFieldMap.h:105
Double_t GetScale() const
Definition: PndFieldMap.h:110
virtual Double_t GetBx(Double_t x, Double_t y, Double_t z)
TString fMapName
Definition: PndFieldPar.h:72
Double_t fYmax
Definition: PndFieldPar.h:65
void SetParameters(FairField *field)
Double_t GetZmax() const
Definition: PndConstField.h:91
Double_t GetPositionX() const
Definition: PndFieldMap.h:104
Double_t fPosY
Definition: PndFieldPar.h:75
Double_t fBz
Definition: PndFieldPar.h:69
virtual Double_t GetBy(Double_t x, Double_t y, Double_t z)
TObjArray * GetFieldList()
Definition: PndMultiField.h:46
Double_t GetZmin() const
Definition: PndConstField.h:90
TFile * fi
Double_t fZmin
Definition: PndFieldPar.h:66
Double_t fXmin
Definition: PndFieldPar.h:64
Double_t fPosX
Definition: PndFieldPar.h:75
Double_t fPosZ
Definition: PndFieldPar.h:75
Double_t fYmin
Definition: PndFieldPar.h:65
Double_t fBx
Definition: PndFieldPar.h:69
Double_t GetYmax() const
Definition: PndConstField.h:89
virtual Double_t GetBz(Double_t x, Double_t y, Double_t z)
Double_t GetPositionZ() const
Definition: PndFieldMap.h:106
Double_t fScale
Definition: PndFieldPar.h:78
Double_t fXmax
Definition: PndFieldPar.h:64
Double_t GetXmax() const
Definition: PndConstField.h:87

Member Data Documentation

Double_t PndFieldPar::fBx
private

Field values in case of constant field [kG]

Definition at line 69 of file PndFieldPar.h.

Referenced by GetBx(), getParams(), putParams(), and SetParameters().

Double_t PndFieldPar::fBy
private

Definition at line 69 of file PndFieldPar.h.

Referenced by GetBy(), getParams(), putParams(), and SetParameters().

Double_t PndFieldPar::fBz
private

Definition at line 69 of file PndFieldPar.h.

Referenced by GetBz(), getParams(), putParams(), and SetParameters().

TString PndFieldPar::fMapName
private

Field map name in case of field map

Definition at line 72 of file PndFieldPar.h.

Referenced by getParams(), MapName(), putParams(), and SetParameters().

Double_t PndFieldPar::fPosX
private

Field centre position for field map

Definition at line 75 of file PndFieldPar.h.

Referenced by getParams(), GetPositionX(), putParams(), and SetParameters().

Double_t PndFieldPar::fPosY
private

Definition at line 75 of file PndFieldPar.h.

Referenced by getParams(), GetPositionY(), putParams(), and SetParameters().

Double_t PndFieldPar::fPosZ
private

Definition at line 75 of file PndFieldPar.h.

Referenced by getParams(), GetPositionZ(), putParams(), and SetParameters().

Double_t PndFieldPar::fScale
private

Scaling factor for field map

Definition at line 78 of file PndFieldPar.h.

Referenced by getParams(), GetScale(), putParams(), and SetParameters().

Int_t PndFieldPar::fType
private

Field type 0 = constant field 1 = field map 2 = field map sym2 (symmetries in x and y) 3 = field map sym3 (symmetries in x, y and z)

Definition at line 61 of file PndFieldPar.h.

Referenced by getParams(), GetType(), putParams(), and SetParameters().

Double_t PndFieldPar::fXmax
private

Definition at line 64 of file PndFieldPar.h.

Referenced by getParams(), GetXmax(), putParams(), and SetParameters().

Double_t PndFieldPar::fXmin
private

Field limits in case of constant field

Definition at line 64 of file PndFieldPar.h.

Referenced by getParams(), GetXmin(), putParams(), and SetParameters().

Double_t PndFieldPar::fYmax
private

Definition at line 65 of file PndFieldPar.h.

Referenced by getParams(), GetYmax(), putParams(), and SetParameters().

Double_t PndFieldPar::fYmin
private

Definition at line 65 of file PndFieldPar.h.

Referenced by getParams(), GetYmin(), putParams(), and SetParameters().

Double_t PndFieldPar::fZmax
private

Definition at line 66 of file PndFieldPar.h.

Referenced by getParams(), GetZmax(), putParams(), and SetParameters().

Double_t PndFieldPar::fZmin
private

Definition at line 66 of file PndFieldPar.h.

Referenced by getParams(), GetZmin(), putParams(), and SetParameters().


The documentation for this class was generated from the following files: