42     JParser<> zap(
"Test program for position fit.");
 
   53   catch(
const exception &error) {
 
   54     FATAL(error.what() << endl);
 
   58   TH1D hx(
"hx", NULL, 101, -1.0, +1.0);
 
   59   TH1D hy(
"hy", NULL, 101, -1.0, +1.0);
 
   60   TH1D hz(
"hz", NULL, 101, -1.0, +1.0);
 
   67   for (
int i = 0; i != numberOfEvents; ++i) {
 
   69     const JVector3D vertex(0.0, 0.0, 0.0);
 
   75     for (
int j = 0; 
j != numberOfAxes; ++
j) {
 
   77       const double x  = gRandom->Gaus(0.0, sigma);
 
   78       const double y  = gRandom->Gaus(0.0, sigma);
 
   79       const double z  = gRandom->Gaus(0.0, sigma);
 
   81       const double dx = gRandom->Uniform(-1, +1);
 
   82       const double dy = gRandom->Uniform(-1, +1);
 
   83       const double dz = gRandom->Uniform(-1, +1);
 
   85       detector.push_back(JAxis3D(vertex + JVector3D(x,y,z), JVersor3D(dx,dy,dz)));
 
   90     JEstimator<JPoint3D> 
result(detector.begin(), detector.end());
 
   92     hx.Fill(vertex.getX() - 
result.getX());
 
   93     hy.Fill(vertex.getY() - 
result.getY());
 
   94     hz.Fill(vertex.getZ() - 
result.getZ());
 
   96     Qx.put(vertex.getX() - 
result.getX());
 
   97     Qy.put(vertex.getY() - 
result.getY());
 
   98     Qz.put(vertex.getZ() - 
result.getZ());
 
  111     out << hx << hy << hz;
 
  117   ASSERT(numberOfEvents > 0);
 
  119   ASSERT(fabs(Qx.getMean()) <= precision);
 
  120   ASSERT(fabs(Qy.getMean()) <= precision);
 
  121   ASSERT(fabs(Qz.getMean()) <= precision);
 
  123   ASSERT(Qx.getSTDev() <= precision);
 
  124   ASSERT(Qy.getSTDev() <= precision);
 
  125   ASSERT(Qz.getSTDev() <= precision);
 
Utility class to parse command line options. 
 
#define ASSERT(A,...)
Assert macro. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
do set_variable DETECTOR_TXT $WORKDIR detector