#include <ShipBellField.h>
|
| | ShipBellField () |
| |
| | ShipBellField (const char *name, Double_t Bpeak, Double_t Zmiddle, Int_t fOrient=1, Double_t Btube=500.) |
| |
| | ShipBellField (ShipFieldPar *fieldPar) |
| |
| virtual | ~ShipBellField () |
| |
| virtual Double_t | GetBx (Double_t x, Double_t y, Double_t z) |
| |
| virtual Double_t | GetBy (Double_t x, Double_t y, Double_t z) |
| |
| virtual Double_t | GetBz (Double_t x, Double_t y, Double_t z) |
| |
| void | IncludeTarget (Double_t xy, Double_t z, Double_t l) |
| |
| virtual void | Print () |
| |
Definition at line 26 of file ShipBellField.h.
◆ ShipBellField() [1/3]
| ShipBellField::ShipBellField |
( |
| ) |
|
◆ ShipBellField() [2/3]
| ShipBellField::ShipBellField |
( |
const char * |
name, |
|
|
Double_t |
Bpeak, |
|
|
Double_t |
Zmiddle, |
|
|
Int_t |
fOrient = 1, |
|
|
Double_t |
Btube = 500. |
|
) |
| |
|
explicit |
Standard constructor
- Parameters
-
| name | Object name |
| Bpeak | peak field.. |
| Zmiddle | middle of the magnet (global coordinates) |
| Btube | largest radius of the tube ellips (inside) |
Definition at line 37 of file ShipBellField.cxx.
◆ ShipBellField() [3/3]
Constructor from ShipFieldPar
Definition at line 48 of file ShipBellField.cxx.
50 if (!fieldPar) {
51 cerr << "-W- ShipBellField::ShipBellField: empty parameter container!"
52 << endl;
53 fType = 0;
54 } else {
59 }
60}
Double_t GetMiddle() const
Double_t GetBtube() const
◆ ~ShipBellField()
| ShipBellField::~ShipBellField |
( |
| ) |
|
|
virtual |
◆ ClassDef()
◆ GetBx()
| Double_t ShipBellField::GetBx |
( |
Double_t |
x, |
|
|
Double_t |
y, |
|
|
Double_t |
z |
|
) |
| |
|
virtual |
Get components of field at a given point
- Parameters
-
| x,y,z | Point coordinates [cm] |
Definition at line 75 of file ShipBellField.cxx.
75 {
77 return 0.;
78 } else {
79 Double_t zlocal = fabs(z -
fMiddle) / 100.;
80
81
82
83
84 Double_t bx = 0.;
85
86 if ((fabs(x) < 2.7 * m) && (fabs(y) <
fBtube + 0.2 * m)) {
87 if (zlocal < 3.8) {
88 bx = 0.14361 * exp(-0.5 * pow((zlocal - 0.45479E-01) / 2.5046, 2.));
89 } else if (zlocal < 11.9) {
90 bx = 0.19532 - 0.61512E-01 * zlocal + 0.68447E-02 * pow(zlocal, 2.) -
91 0.25672E-03 * pow(zlocal, 3.);
92 }
94 }
95
96
97 return bx;
98 }
99}
◆ GetBy()
| Double_t ShipBellField::GetBy |
( |
Double_t |
x, |
|
|
Double_t |
y, |
|
|
Double_t |
z |
|
) |
| |
|
virtual |
Definition at line 104 of file ShipBellField.cxx.
104 {
105 Double_t by = 0.;
107
110 }
114 }
116 Double_t zlocal = (
z -
fMiddle) / 100.;
117 by =
fPeak / (1. + pow(fabs(zlocal) / 2.1, 6.));
118
119 }
120 return by;
121}
◆ GetBz()
| Double_t ShipBellField::GetBz |
( |
Double_t |
x, |
|
|
Double_t |
y, |
|
|
Double_t |
z |
|
) |
| |
|
virtual |
◆ IncludeTarget()
| void ShipBellField::IncludeTarget |
( |
Double_t |
xy, |
|
|
Double_t |
z, |
|
|
Double_t |
l |
|
) |
| |
◆ Print()
| void ShipBellField::Print |
( |
| ) |
|
|
virtual |
Screen output
Definition at line 129 of file ShipBellField.cxx.
129 {
130 cout << "======================================================" << endl;
131 cout << "---- " << fTitle << " : " << fName << endl;
132 cout << "----" << endl;
133 cout << "---- Field type : constant" << endl;
134 cout << "----" << endl;
135 cout << "---- Field regions : " << endl;
136 cout.precision(4);
137 cout << "======================================================" << endl;
138}
◆ fBtube
| Double_t ShipBellField::fBtube |
|
private |
◆ fInclTarget
| Bool_t ShipBellField::fInclTarget |
|
private |
◆ fMiddle
| Double_t ShipBellField::fMiddle |
|
private |
◆ fOrient
| Int_t ShipBellField::fOrient |
|
private |
◆ fPeak
| Double_t ShipBellField::fPeak |
|
private |
◆ targetL
| Double_t ShipBellField::targetL |
|
private |
◆ targetXY
| Double_t ShipBellField::targetXY |
|
private |
◆ targetZ0
| Double_t ShipBellField::targetZ0 |
|
private |
The documentation for this class was generated from the following files: