20 static const std::string set_t =
"set";
35 mechanics = this->mechanics;
50 friend inline std::istream&
operator>>(std::istream& in, JModifier& modifier)
52 return in >> modifier.id >> modifier.action >> modifier.mechanics;
63 friend inline std::ostream&
operator<<(std::ostream& out,
const JModifier& modifier)
67 out << modifier.action;
69 out << modifier.mechanics;
117 JParser<> zap(
"Auxiliary program to add or modify mechanical model data of detector string.");
119 zap[
'f'] =
make_field(inputFile,
"mechanics input file");
124 zap[
'q'] =
make_field(squash,
"squash meta data");
129 catch(
const exception &error) {
130 FATAL(error.what() << endl);
136 data.load(inputFile.c_str());
138 catch(
const exception&) {}
141 data.comment.clear();
144 data.comment.add(
JMeta(argc,argv));
147 if (data.count(i->first) == 0u)
148 data[i->first] = i->second;
150 ERROR(
"String " << i->first <<
" already exists." << endl);
153 for (vector<JModifier>::const_iterator i = mod.begin(); i != mod.end(); ++i) {
155 DEBUG(
"Modifier" <<
' '
156 <<
"(" <<
FILL(2,
'0') << i->id <<
FILL() <<
")" <<
' '
157 <<
"action" <<
' ' << i->mechanics << endl);
161 container_type::iterator p = data.find(i->id);
163 if (p != data.end()) {
164 mechanics = p->second;
167 if (!i->apply(mechanics))
168 ERROR(
"No valid action: " << *i << endl);
170 data[i->id] = mechanics;
175 container_type::iterator p = data.find(*i);
177 if (p != data.end()) {
int main(int argc, char **argv)
Mechanical modelling of string.
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Utility class to parse command line options.
std::istream & operator>>(std::istream &in, JAHRSCalibration &calibration)
Read AHRS calibration from input stream.
std::ostream & operator<<(std::ostream &out, const JAHRSCalibration &calibration)
Write AHRS calibration to output stream.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for sequence of same character.
Auxiliary data structure for parameters of mechanical model.
Auxiliary wrapper for I/O of container with optional comment (see JComment).
Empty structure for specification of parser element that is initialised (i.e. does not require input)...