29int main(
int argc,
char **argv)
52 catch(
const exception& error) {
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);
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) {
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);
124 for (JDetector_t::const_iterator pos =
detector.begin(); pos !=
detector.end(); ++pos) {
141 <<
FIXED(7,3) << result.getX() <<
' '
142 <<
FIXED(7,3) << result.getY() <<
' '
143 <<
FIXED(7,3) << result.getZ() <<
' '
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());
157 if (
debug >= debug_t) {
168 out << hx << hy << hz <<
ht;
174 ASSERT(numberOfEvents > 0);
177 ASSERT(fabs(
Qy.getMean()) <= precision);
178 ASSERT(fabs(
Qz.getMean()) <= precision);