28 int main(
int argc, 
char**argv)
 
   40     JParser<> zap(
"Example program to test JOmega2D class.");
 
   49   catch(
const exception &error) {
 
   50     FATAL(error.what() << endl);
 
   56   TH1D h0(
"h0[grid",       NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
 
   57   TH1D h1(
"h1[RMS]",       NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
 
   58   TH1D h2(
"h2[deviation]", NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
 
   64   for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
 
   66     const Double_t x = h0.GetBinCenter(i);
 
   68     omega   .push_back(JOmega2D(x * 
PI/180.0));
 
   69     quantile.push_back(JQuantile());    
 
   73   for (
int i = 0; i != numberOfEvents; ++i) {
 
   75     STATUS(
"event: " << setw(10) << i << 
'\r'); 
DEBUG(endl);
 
   77     const double   phi   = gRandom->Uniform(0.0, 2*
PI);
 
   79     const JAngle2D angle(phi);
 
   81     for (
size_t j = 0; j != omega.size(); ++j) {
 
   83       const int      pos = omega[j].find(angle);
 
   84       const double   dot = angle.getDot(omega[j][pos]);
 
   86       quantile[j].put(acos(dot) * 180.0/
PI); 
 
   92   for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
 
   93     h0.SetBinContent(i, omega   [i-1].size());
 
   94     h1.SetBinContent(i, quantile[i-1].getSTDev());
 
   95     h2.SetBinContent(i, quantile[i-1].getDeviation());
 
  102     out << h0 << h1 << h2;
 
  108   for (
int i = 1; i <= h2.GetNbinsX(); ++i) {
 
  110     const Double_t x = h2.GetBinCenter (i);
 
  111     const Double_t y = h2.GetBinContent(i);
 
  113     NOTICE(
"Grid test " << x << 
" [deg]: " << y << 
" [deg]." << endl); 
 
Utility class to parse command line options. 
 
#define ASSERT(A)
Assert macro. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
General purpose messaging. 
 
Utility class to parse command line options. 
 
#define DEBUG(A)
Message macros. 
 
int main(int argc, char *argv[])