25 #include "SystemOfUnits.h"
27 #ifndef ST_NO_NAMESPACES
28 using namespace units;
40 pair<double, double> s;
45 double slow, sup, ds, ss;
49 helix =
new StHelix(1/(radius*meter),
55 if (!helix->
valid()) {
56 cerr <<
"Error: parametrization is not valid" << endl;
59 cout <<
"The helix parameter are:" << endl;
60 cout << *helix << endl;
61 cout <<
"The period of the helix is: " << helix->
period() << endl;
65 cout <<
"ds = " << ds <<
" -> " << helix->at(ds) << endl;
69 cout <<
"The helix reaches r=1 m at s1 = " << s.first
70 <<
" and s2 = " << s.second << endl;
74 cout <<
"The helix reaches r at s = " << ss << endl;
75 cout <<
"Crosscheck point = " << helix->at(ss)
76 <<
", delta = " << abs(mmpoint-helix->at(ss)) << endl;
78 cout <<
"end of example" << endl;
bool valid(double world=1.e+5) const
checks for valid parametrization
pair< double, double > pathLength(double r) const
path length at given r (cylindrical r)
double period() const
returns period length of helix