29 int main(
int argc, 
char **argv)
 
   42     JParser<> zap(
"Test program for vertex fit.");
 
   52   catch(
const exception& error) {
 
   53     FATAL(error.what() << endl);
 
   57   TH1D hx(
"hx", NULL, 101, -1.0, +1.0);
 
   58   TH1D hy(
"hy", NULL, 101, -1.0, +1.0);
 
   59   TH1D hz(
"hz", NULL, 101, -1.0, +1.0);
 
   60   TH1D ht(
"ht", NULL, 101, -1.0, +1.0);
 
   72   if (inputFile != 
"") {
 
   74     ifstream 
in(inputFile.c_str());
 
   76     for (
double x, 
y, z; 
in >> x >> 
y >> z; ) {
 
   84     for (
double x = -50.0; 
x < 100.0; 
x += 100.0) {
 
   85       for (
double y = -50.0; 
y < 100.0; 
y += 100.0) {
 
   86         for (
double z = -50.0; z < 100.0; z += 100.0) {
 
   94   typedef JVertex3D   JHit_t;
 
   96   const double xmin = -1.0;
 
   97   const double xmax = +1.0;
 
   99   const double tmin = -1.0;
 
  100   const double tmax = +1.0;
 
  103   for (
int i = 0; 
i != numberOfEvents; ++
i) {
 
  107     const double x = gRandom->Uniform(
xmin, 
xmax);
 
  108     const double y = gRandom->Uniform(
xmin, 
xmax);
 
  109     const double z = gRandom->Uniform(
xmin, 
xmax);
 
  110     const double t = gRandom->Uniform(tmin, tmax);
 
  112     JPoint4D point(JVector3D(x,y,z), t);
 
  115           << 
FIXED(7,3) << point.getX() << 
' '  
  116           << 
FIXED(7,3) << point.getY() << 
' '  
  117           << 
FIXED(7,3) << point.getZ() << 
' '  
  118           << 
FIXED(7,3) << point.getT() << endl);
 
  124     for (JDetector_t::const_iterator pos = 
detector.begin(); pos != 
detector.end(); ++pos) {
 
  125       data.push_back(JHit_t(*pos, point.getT(*pos)));
 
  130             << 
FIXED(7,3) << hit->getX() << 
' '  
  131             << 
FIXED(7,3) << hit->getY() << 
' '  
  132             << 
FIXED(7,3) << hit->getZ() << 
' '  
  133             << 
FIXED(7,3) << hit->getT() << endl);
 
  138     JEstimator<JPoint4D> 
result(data.begin(), data.end());
 
  146     hx.Fill(point.getX() - 
result.getX());
 
  147     hy.Fill(point.getY() - 
result.getY());
 
  148     hz.Fill(point.getZ() - 
result.getZ());
 
  149     ht.Fill(point.getT() - 
result.getT());
 
  151     Qx.put(point.getX() - 
result.getX());
 
  152     Qy.put(point.getY() - 
result.getY());
 
  153     Qz.put(point.getZ() - 
result.getZ());
 
  154     Qt.put(point.getT() - 
result.getT());
 
  168     out << hx << hy << hz << ht;
 
  174   ASSERT(numberOfEvents > 0);
 
  176   ASSERT(fabs(Qx.getMean()) <= precision);
 
  177   ASSERT(fabs(Qy.getMean()) <= precision);
 
  178   ASSERT(fabs(Qz.getMean()) <= precision);
 
  179   ASSERT(fabs(Qt.getMean()) <= precision);
 
  181   ASSERT(Qx.getSTDev() <= precision);
 
  182   ASSERT(Qy.getSTDev() <= precision);
 
  183   ASSERT(Qz.getSTDev() <= precision);
 
  184   ASSERT(Qt.getSTDev() <= precision);
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
Auxiliary data structure for floating point format specification. 
 
#define ASSERT(A,...)
Assert macro. 
 
I/O formatting auxiliaries. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
General purpose messaging. 
 
Linear fit of JFIT::JPoint4D. 
 
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
Utility class to parse command line options. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
#define DEBUG(A)
Message macros.