19   static const std::string set_t       = 
"set";               
 
   20   static const std::string add_t       = 
"add";               
 
   21   static const std::string sub_t       = 
"sub";               
 
   22   static const std::string rot_t       = 
"rot";               
 
   36       switch (data.size()) {
 
   39         return  apply(hydrophone, action, data[0]);                                        
 
   42         return  apply(hydrophone, action, 
JVector3D(data[0], data[1], data[2]));           
 
   57     friend inline std::istream& 
operator>>(std::istream& 
in, JModifier& modifier)
 
   61       if (in >> modifier.id >> modifier.action) {
 
   63         modifier.data.clear();
 
   65         for (
double x; in >> 
x; ) {
 
   66           modifier.data.push_back(x);
 
   69         in.clear(ios_base::eofbit);
 
   83     friend inline std::ostream& 
operator<<(std::ostream& out, 
const JModifier& modifier)
 
   87       out << modifier.action;
 
  111     static bool apply(
JHydrophone& hydrophone, 
const std::string& action, 
const double value)
 
  134       else if (action == add_t)
 
  136       else if (action == sub_t)
 
  170 int main(
int argc, 
char **argv)
 
  186     JParser<> zap(
"Auxiliary program to modify hydrophone configuration.");
 
  188     zap[
'f'] = 
make_field(file_name,   
"hydrophone file");
 
  197   catch(
const exception &error) {
 
  198     FATAL(error.what() << endl);
 
  204     data.load(file_name.c_str());
 
  206   catch(
const exception&) {}
 
  209     data.comment.clear();
 
  212   data.comment.add(
JMeta(argc, argv));
 
  220     for (container_type::iterator 
target = data.begin(); 
target != data.end(); ++
target) {
 
  222       if (
target->getString() == i->id) {
 
  224         DEBUG(
"Modifier"                                                                                                << 
' ' 
  226               << 
"action" << 
' ' << i->action << 
JEEPZ() << i->data << endl);
 
  229           ERROR(
"No valid action: " << *i << endl);
 
  236     for (container_type::iterator 
target = data.begin(); 
target != data.end(); ) {
 
  237       if (
target->getString() == *i)
 
  244   data.store(file_name.c_str());
 
Utility class to parse command line options. 
int main(int argc, char *argv[])
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Type definition of hydrophone. 
Data structure for hydrophone. 
JVector3D & sub(const JVector3D &vector)
Subtract vector. 
I/O formatting auxiliaries. 
Data structure for vector in three dimensions. 
Auxiliary wrapper for I/O of container with optional comment (see JComment). 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
Auxiliary data structure for streaming of STL containers. 
General purpose messaging. 
Auxiliary data structure for sequence of same character. 
std::istream & operator>>(std::istream &in, JAANET::JHead &header)
Read header from input. 
Utility class to parse command line options. 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
JPosition3D & rotate(const JRotation3D &R)
Rotate. 
JVector3D & add(const JVector3D &vector)
Add vector. 
void setPosition(const JVector3D &pos)
Set position.