2942 fDrive.SetVerbose(!conf.
Get<
bool>(
"quiet"));
2948 conf.
Get<
double>(
"pointing.min.az"));
2950 conf.
Get<
double>(
"pointing.max.az"));
2959 conf.
Get<
double>(
"pointing.acceleration.az"));
2961 conf.
Get<
double>(
"tracking.acceleration.az"));
2963 conf.
Get<
double>(
"acceleration.max.az"));
2969 T::Error(
"Pointing acceleration exceeds maximum acceleration.");
2975 T::Error(
"Tracking acceleration exceeds maximum acceleration.");
2983 const string fname = conf.
Get<
string>(
"pointing.model-file");
2989 catch (
const exception &e)
2995 const vector<string> &vec = conf.
Vec<
string>(
"source");
2997 for (vector<string>::const_iterator it=vec.begin(); it!=vec.end(); it++)
2999 istringstream stream(*it);
3008 while (getline(stream, buffer,
','))
3010 istringstream is(buffer);
3014 case 0: name =
buffer;
break;
3017 case 3: is >> src.
offset;
break;
3018 case 4: is >> src.
angles[0];
break;
3019 case 5: is >> src.
angles[1];
break;
3032 T::Warn(
"Resource 'source' not correctly formatted: '"+*it+
"'");
3037 if (conf.
Has(
"source-database"))
3046 msg <<
"Next sun-rise will be at " <<
fSunRise;
double fMaxPointingResidual
array< double, 2 > angles
Acceleration fAccPointing
T Get(const std::string &var)
std::vector< T > Vec(const std::string &var)
void ReadDatabase(bool print=true)
bool Has(const std::string &var)
uint16_t fDeviationCounter
bool AddSource(const string &name, const Source &src)
Acceleration fAccTracking
PointingModel fPointingModel
bool CheckRange(ZdAz pos)
void Load(const string &name)
void SetEndpoint(const string &url)
double ReadAngle(istream &in)