testFEventImpl.cc
Go to the documentation of this file.
1 
10 #include <iostream>
11 #include <utl/Trace.h>
12 #include <utl/TabulatedFunctionErrors.h>
13 #include <utl/ErrorLogger.h>
14 #include <evt/Event.h>
15 #include <fevt/FEvent.h>
16 #include <fevt/Eye.h>
17 #include <fevt/EyeRecData.h>
18 #include <fevt/Telescope.h>
19 #include <fevt/Channel.h>
20 #include <fevt/ChannelSimData.h>
21 #include <fevt/Pixel.h>
22 #include <fevt/PixelRecData.h>
23 #include <fevt/PixelSimData.h>
24 #include <fevt/FdComponentSelector.h>
25 #include <fdet/FDetector.h>
26 #include <fdet/Eye.h>
27 #include <fdet/Telescope.h>
28 #include <fwk/CentralConfig.h>
29 #include <det/Detector.h>
30 #include <utl/TimeStamp.h>
31 #include <utl/UTCDateTime.h>
32 #include <utl/ErrorLogger.h>
33 
34 #include <tst/Verify.h>
35 #include <cppunit/extensions/HelperMacros.h>
36 
37 #include <iostream>
38 
39 
40 using namespace fevt;
41 using namespace utl;
42 using namespace std;
43 using namespace tst;
44 
45 
47  fEvent(0),
48  fIsOwnerOfEvent(true),
49  fTestIO(false),
50  fNEyes(0)
51 {
52 }
53 
54 
56 {
57  if (fIsOwnerOfEvent)
58  delete fEvent;
59 }
60 
61 
62 void
63 testFEventImpl::setUp(evt::Event& event, bool testIO)
64 {
65  if (fIsOwnerOfEvent)
66  delete fEvent;
67  fEvent = &event;
68  fIsOwnerOfEvent = false;
69  fTestIO = testIO;
70  setUp();
71 }
72 
73 
74 void
76 {
77  if (!fEvent)
78  fEvent = new evt::Event;
79 
80  ErrorLogger::GetInstance().SetVerbosity(Verbosity::eVerbose);
81 
82  fEvent->MakeFEvent();
83 
84  // Set up the detector description
85  //
86  //fwk::CentralConfig* theCC =
87  fwk::CentralConfig::GetInstance(BOOTSTRAPFILE);
88 
89  TimeStamp time = UTCDateTime(2002,11,10,16,45,12).GetTimeStamp();
90  det::Detector::GetInstance().Update(time);
91 
92  // Add all eyes in the Detector (commissioned at current time)
93  // to the FEvent
94  //
95  FEvent& fdEvent = fEvent->GetFEvent();
96 
97  fNEyes = 0;
98  const fdet::FDetector& detFD = det::Detector::GetInstance().GetFDetector();
99  for (fdet::FDetector::EyeIterator iEye = detFD.EyesBegin();
100  iEye != detFD.EyesEnd(); ++iEye) {
101 
102  unsigned int eye_id = iEye->GetId();
103  fdEvent.MakeEye(eye_id);
104  fdEvent.GetEye(eye_id).MakeRecData();
105  fNEyes++;
106 
107  for (fdet::Eye::TelescopeIterator iTel = iEye->TelescopesBegin();
108  iTel != iEye->TelescopesEnd(); ++iTel) {
109 
110  unsigned int tel_id = iTel->GetId();
111  fdEvent.GetEye(eye_id).MakeTelescope(tel_id);
112 
113  for (unsigned int id = iTel->GetFirstPixelId(); id < 10; ++id) {
114  fdEvent.GetEye(eye_id).GetTelescope(tel_id).MakePixel(id);
115  fdEvent.GetEye(eye_id).GetTelescope(tel_id).GetPixel(id).MakeRecData();
116  fdEvent.GetEye(eye_id).GetTelescope(tel_id).GetPixel(id).MakeSimData();
117  }
118 
119  for (unsigned int id = iTel->GetFirstChannelId(); id < 10; ++id) {
120  fdEvent.GetEye(eye_id).GetTelescope(tel_id).MakeChannel(id);
121  fdEvent.GetEye(eye_id).GetTelescope(tel_id).GetChannel(id).MakeSimData();
122  }
123  }
124  }
125 }
126 
127 void
129 {
130 }
131 
132 
133 void
135 {
136  for (fevt::FEvent::EyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
137  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
138 
139  for (fevt::Eye::TelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
140  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
141 
142  for (fevt::Telescope::PixelIterator pix = tel->PixelsBegin(ComponentSelector::eHasData);
143  pix != tel->PixelsEnd(ComponentSelector::eHasData); ++pix) {
144 
145  PixelRecData& pr = pix->GetRecData();
146 
147  pr.SetT_i(1234.0f,5678.0);
148  pr.SetChi_i(4567.0);
149  pr.SetPulseFound();
150  pr.SetBaseline(1234.0);
151  pr.SetRMS(456.0);
152  pr.SetPulseStop(10);
153  pr.SetPulseStart(20);
154  pr.SetCentroid(12.0,14.0);
155  pr.SetTotalCharge(123.0);
156 
157  int nTrace = 100;
158  double binning = 10.*ns;
159  pr.MakePhotonTrace(nTrace, binning, FdConstants::eTotal);
160  pr.MakePhotonTrace(nTrace, binning, FdConstants::eCherDirect);
161 
163  for (int i = 0; i < 10; ++i)
164  trace1[i] = i;
165 
167  for (int i = 20; i < 30; ++i)
168  trace2[i] = i;
169 
170  }
171 }
172 
173 
174 void
176 {
177  for (fevt::FEvent::ConstEyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
178  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
179 
180  for (fevt::Eye::ConstTelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
181  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
182 
183  for (fevt::Telescope::ConstPixelIterator pix = tel->PixelsBegin(ComponentSelector::eHasData);
184  pix != tel->PixelsEnd(ComponentSelector::eHasData); ++pix) {
185 
186  const PixelRecData& pr = pix->GetRecData();
187 
188  CPPUNIT_ASSERT(pr.GetT_i() == TimeInterval(1234.));
189  CPPUNIT_ASSERT(pr.GetT_iError() == TimeInterval(5678.));
190  CPPUNIT_ASSERT(pr.GetChi_i() == 4567.);
191  CPPUNIT_ASSERT(pr.PulseIsFound());
192  CPPUNIT_ASSERT(pr.GetBaseline() == 1234.);
193  CPPUNIT_ASSERT(pr.GetRMS() == 456.);
194  CPPUNIT_ASSERT(pr.GetPulseStart() == 20);
195  CPPUNIT_ASSERT(pr.GetPulseStop() == 10);
196  CPPUNIT_ASSERT(pr.GetCentroid() == 12.);
197  CPPUNIT_ASSERT(pr.GetCentroidError() == 14.);
198  CPPUNIT_ASSERT(pr.GetTotalCharge() == 123.);
199 
200  CPPUNIT_ASSERT(pr.HasPhotonTrace(FdConstants::eTotal));
201  const TraceD& trace = pr.GetPhotonTrace(FdConstants::eTotal);
202  for (int i = 0; i < 10; ++i)
203  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
204 
205  CPPUNIT_ASSERT(pr.HasPhotonTrace(FdConstants::eCherDirect));
206  const TraceD& trace2 = pr.GetPhotonTrace(FdConstants::eCherDirect);
207  for (int i = 20; i < 30; ++i)
208  CPPUNIT_ASSERT(Verify<CloseTo>(trace2[i], double(i)));
209 
210  // test iteration over traces
211 
213  trIt != pr.PhotonTracesEnd(); ++trIt) {
214 
215  const TraceD& trace = trIt->GetTrace();
216 
217  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
219  for (int i = 0; i < 10; ++i)
220  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
221 
222  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
224  for (int i = 20; i < 30; ++i)
225  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
226 
227  }
228 
229  }
230 }
231 
232 
233 void
235 {
236  FEvent& event = fEvent->GetFEvent();
237  setPixelRecDataValues(event);
239 }
240 
241 
242 void
244 {
245  for (fevt::FEvent::EyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
246  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
247 
248  for (fevt::Eye::TelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
249  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
250 
251  for (fevt::Telescope::PixelIterator pix = tel->PixelsBegin(ComponentSelector::eHasData);
252  pix != tel->PixelsEnd(ComponentSelector::eHasData); ++pix) {
253 
254  PixelSimData& pr = pix->GetSimData();
255 
256  pr.SetThreshold(123);
257 
258  int nTrace = 100;
259  double binning = 10.*ns;
260  pr.MakePhotonTrace(nTrace, binning, FdConstants::eTotal);
261  pr.MakePhotonTrace(nTrace, binning, FdConstants::eCherDirect);
262 
264  for (int i = 0; i < 10; ++i)
265  trace1[i] = i;
266 
268  for (int i = 20; i < 30; ++i)
269  trace2[i] = i;
270 
271  }
272 }
273 
274 
275 void
277 {
278  for (fevt::FEvent::ConstEyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
279  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
280 
281  for (fevt::Eye::ConstTelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
282  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
283 
284  for (fevt::Telescope::ConstPixelIterator pix = tel->PixelsBegin(ComponentSelector::eHasData);
285  pix != tel->PixelsEnd(ComponentSelector::eHasData); ++pix) {
286 
287  const PixelSimData& pr = pix->GetSimData();
288 
289  CPPUNIT_ASSERT(pr.GetThreshold() == 123);
290 
291  CPPUNIT_ASSERT(pr.HasPhotonTrace(FdConstants::eTotal));
292  const TraceD& trace = pr.GetPhotonTrace(FdConstants::eTotal);
293  for (int i = 0; i < 10; ++i)
294  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
295 
296  CPPUNIT_ASSERT(pr.HasPhotonTrace(FdConstants::eCherDirect));
297  const TraceD& trace2 = pr.GetPhotonTrace(FdConstants::eCherDirect);
298  for (int i = 20; i < 30; ++i)
299  CPPUNIT_ASSERT(Verify<CloseTo>(trace2[i], double(i)));
300 
301  // test iteration over traces
302 
304  trIt != pr.PhotonTracesEnd(); ++trIt) {
305 
306  const TraceD& trace = trIt->GetTrace();
307 
308  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
310  for (int i = 0; i < 10; ++i)
311  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
312 
313  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
315  for (int i = 20; i < 30; ++i)
316  CPPUNIT_ASSERT(Verify<CloseTo>(trace[i], double(i)));
317 
318  }
319 
320  }
321 }
322 
323 
324 void
326 {
327  FEvent& event = fEvent->GetFEvent();
328  setPixelSimDataValues(event);
330 }
331 
332 
333 void
335 {
336  for (fevt::FEvent::EyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
337  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
338 
339  for (fevt::Eye::TelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
340  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
341 
342  for (fevt::Telescope::ChannelIterator ch = tel->ChannelsBegin();
343  ch != tel->ChannelsEnd(); ++ch) {
344 
345  ChannelSimData& pr = ch->GetSimData();
346 
347  int nTrace = 100;
348  double binning = 10.*ns;
349  pr.MakeFADCTrace(nTrace, binning, FdConstants::eTotal);
350  pr.MakeFADCTrace(nTrace, binning, FdConstants::eCherDirect);
351 
353  for (int i = 0; i < 10; ++i)
354  trace1[i] = i;
355 
357  for (int i = 20; i < 30; ++i)
358  trace2[i] = i;
359 
360  }
361 }
362 
363 
364 void
366 {
367  for (fevt::FEvent::ConstEyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
368  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye)
369 
370  for (fevt::Eye::ConstTelescopeIterator tel = eye->TelescopesBegin(ComponentSelector::eHasData);
371  tel != eye->TelescopesEnd(ComponentSelector::eHasData); ++tel)
372 
373  for (fevt::Telescope::ConstChannelIterator ch = tel->ChannelsBegin();
374  ch != tel->ChannelsEnd(); ++ch) {
375 
376  const ChannelSimData& pr = ch->GetSimData();
377 
378  CPPUNIT_ASSERT(pr.HasFADCTrace(FdConstants::eTotal));
379  const TraceI& trace = pr.GetFADCTrace(FdConstants::eTotal);
380  for (int i = 0; i < 10; ++i)
381  CPPUNIT_ASSERT(trace[i] == i);
382 
383  CPPUNIT_ASSERT(pr.HasFADCTrace(FdConstants::eCherDirect));
384  const TraceI& trace2 = pr.GetFADCTrace(FdConstants::eCherDirect);
385  for (int i = 20; i < 30; ++i)
386  CPPUNIT_ASSERT(trace2[i] == i);
387 
388  // test iteration over traces
389 
391  trIt != pr.FADCTracesEnd(); ++trIt) {
392 
393  const TraceI& trace = trIt->GetTrace();
394 
395  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
397  for (int i = 0; i < 10; ++i)
398  CPPUNIT_ASSERT(trace[i] == i);
399 
400  if (static_cast<FdConstants::LightSource>(trIt->GetLabel()) ==
402  for (int i = 20; i < 30; ++i)
403  CPPUNIT_ASSERT(trace[i] == i);
404 
405  }
406 
407  }
408 }
409 
410 
411 void
413 {
414  FEvent& event = fEvent->GetFEvent();
417 }
418 
419 
420 void
422 {
423  for (fevt::FEvent::EyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
424  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye) {
425 
426  EyeRecData& eyer = eye->GetRecData();
427 
428  eyer.SetSDP(Vector(1,2,3,
429  det::Detector::GetInstance().GetSiteCoordinateSystem()));
430 
431  eyer.SetSDPThetaError(1);
432  eyer.SetSDPPhiError(2);
433  eyer.SetSDPFitChiSquare(1234, 5678);
434 
435  eyer.SetTZero(12,34);
436  eyer.SetChiZero(56,78);
437  eyer.SetRp(910,1112);
438  eyer.SetTimeFitChiSquare(12,34);
439 
442 
444  for (int i = 0; i < 10; ++i)
445  flux1.PushBack(i, i+100, i+20, i+1000);
446 
448  for (int i = 0; i < 10; ++i)
449  flux2.PushBack(i, i+200, i+10, i+2000);
450 
451  eyer.SetPhotonsStartTime(TimeStamp(1234, 5678));
452 
453  }
454 }
455 
456 
457 void
459 {
460  for (fevt::FEvent::ConstEyeIterator eye = event.EyesBegin(ComponentSelector::eHasData);
461  eye != event.EyesEnd(ComponentSelector::eHasData); ++eye) {
462 
463  const EyeRecData& eyer = eye->GetRecData();
464 
465  CPPUNIT_ASSERT(Verify<CloseTo>(
466  eyer.GetSDP().GetX(det::Detector::GetInstance().GetSiteCoordinateSystem()), 1.));
467 
468  CPPUNIT_ASSERT(Verify<CloseTo>(
469  eyer.GetSDP().GetY(det::Detector::GetInstance().GetSiteCoordinateSystem()), 2.));
470 
471  CPPUNIT_ASSERT(Verify<CloseTo>(
472  eyer.GetSDP().GetZ(det::Detector::GetInstance().GetSiteCoordinateSystem()), 3.));
473 
474  CPPUNIT_ASSERT(eyer.GetSDPThetaError() == 1);
475  CPPUNIT_ASSERT(eyer.GetSDPPhiError() == 2);
476  CPPUNIT_ASSERT(eyer.GetSDPFitChiSquare() == 1234);
477  CPPUNIT_ASSERT(eyer.GetSDPFitNDof() == 5678);
478  CPPUNIT_ASSERT(eyer.GetTZero() == 12);
479  CPPUNIT_ASSERT(eyer.GetTZeroError() == 34);
480  CPPUNIT_ASSERT(eyer.GetChiZero() == 56);
481  CPPUNIT_ASSERT(eyer.GetChiZeroError() == 78);
482  CPPUNIT_ASSERT(eyer.GetTimeFitChiSquare() == 12);
483  CPPUNIT_ASSERT(eyer.GetTimeFitNDof() == 34);
484 
485  CPPUNIT_ASSERT(eyer.HasLightFlux(FdConstants::eTotal));
487  for (int i = 0; i < 10; ++i) {
488  CPPUNIT_ASSERT(Verify<CloseTo>(tf[i].X(), double(i)));
489  CPPUNIT_ASSERT(Verify<CloseTo>(tf[i].XErr(), double(i+100)));
490  CPPUNIT_ASSERT(Verify<CloseTo>(tf[i].Y(), double(i+20)));
491  CPPUNIT_ASSERT(Verify<CloseTo>(tf[i].YErr(), double(i+1000)));
492  }
493 
494  CPPUNIT_ASSERT(eyer.HasLightFlux(FdConstants::eCherMieScattered));
496  for (int i = 0; i < 10; ++i) {
497  CPPUNIT_ASSERT(Verify<CloseTo>(tf2[i].X(), double(i)));
498  CPPUNIT_ASSERT(Verify<CloseTo>(tf2[i].XErr(), double(i+200)));
499  CPPUNIT_ASSERT(Verify<CloseTo>(tf2[i].Y(), double(i+10)));
500  CPPUNIT_ASSERT(Verify<CloseTo>(tf2[i].YErr(), double(i+2000)));
501  }
502 
503  }
504 }
505 
506 
507 void
509 {
510  FEvent& event = fEvent->GetFEvent();
511  setEyeRecDataValues(event);
512  checkEyeRecDataValues(event);
513 }
514 
515 
516 
517 
518 void
520 {
521  setPixelRecDataValues(fevent);
522  setPixelSimDataValues(fevent);
523  setChannelSimDataValues(fevent);
524  setEyeRecDataValues(fevent);
525 }
526 
527 
528 void
530 {
531  unsigned int neyes_evt = fevent.GetNEyes();
532 
533  CPPUNIT_ASSERT(neyes_evt == fNEyes);
534 
535  checkPixelRecDataValues(fevent);
536  checkPixelSimDataValues(fevent);
538  checkEyeRecDataValues(fevent);
539 }
540 
541 
542 void
544 {
545  FEvent& fevent = fEvent->GetFEvent();
546 
547  setAll(fevent);
548 
549  evt::Event copyEvent(*fEvent);
550  FEvent& copyFEvent = copyEvent.GetFEvent(); // use copy ctor
551 
552  checkAll(copyFEvent);
553 }
554 
555 
556 void
558 {
559  FEvent& fevent = fEvent->GetFEvent();
560 
561  setAll(fevent);
562 
563  evt::Event copyEvent;
564  copyEvent = *fEvent; // use assignment
565  FEvent& copyFEvent = copyEvent.GetFEvent();
566 
567  checkAll(copyFEvent);
568 }
569 
570 
571 // Configure (x)emacs for this file ...
572 // Local Variables:
573 // mode: c++
574 // compile-command: "make -C .. -k"
575 // End:
Telescope & GetTelescope(const unsigned int telescopeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Retrieve Telescope by Id, throw exception if not existent.
Definition: FEvent/Eye.cc:57
void MakeFADCTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
double GetChi_i() const
Definition: PixelRecData.h:117
void SetChiZero(const double chiZero, const double error)
Definition: EyeRecData.h:237
bool HasLightFlux(const FdConstants::LightSource source=FdConstants::eTotal) const
Check that light profile for source /par source is present.
Definition: EyeRecData.h:297
void SetSDPPhiError(const double sdpPhiError)
Definition: EyeRecData.h:223
int GetPulseStop() const
pulse stop (to be defined)
Definition: PixelRecData.h:72
void SetPulseStart(const int start)
Definition: PixelRecData.h:103
void SetSDPFitChiSquare(const double sdpChi2, const unsigned int ndof)
Definition: EyeRecData.h:229
double GetRMS() const
Get the baseline RMS of the trace.
Definition: PixelRecData.h:76
PhotonTraceIterator PhotonTracesEnd()
Last std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:66
FADCTraceIterator FADCTracesEnd()
Last std::pair&lt;int source, TraceD* trace&gt;
boost::filter_iterator< ComponentSelector, ConstAllEyeIterator > ConstEyeIterator
Definition: FEvent.h:56
void setPixelRecDataValues(fevt::FEvent &event)
unsigned int GetNEyes() const
Definition: FEvent.h:74
double GetBaseline() const
Definition: PixelRecData.h:74
void MakeRecData()
Definition: FEvent/Eye.cc:145
int GetThreshold() const
Get the simulated trigger threshold of the pixel.
Definition: PixelSimData.h:132
double GetChiZero() const
Definition: EyeRecData.h:85
double GetSDPFitChiSquare() const
Definition: EyeRecData.h:80
PhotonTraceIterator PhotonTracesBegin()
First std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelRecData.h:57
int GetPulseStart() const
pulse start (to be defined)
Definition: PixelRecData.h:70
double GetCentroidError() const
Definition: PixelRecData.h:79
utl::MultiTraceI::ConstIterator ConstFADCTraceIterator
unsigned int GetSDPFitNDof() const
Definition: EyeRecData.h:81
void checkEyeRecDataValues(const fevt::FEvent &event)
unsigned int GetTimeFitNDof() const
Definition: EyeRecData.h:93
Traditional name.
Definition: Verbosity.h:17
void SetT_i(const double t_i, const double error)
Definition: PixelRecData.h:119
evt::Event * fEvent
void SetPulseFound(bool flag=true)
Definition: PixelRecData.h:108
bool HasFADCTrace(const FdConstants::LightSource source) const
Check that source /par source is present.
void MakeEye(const unsigned int eyeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Definition: FEvent.cc:115
void SetTotalCharge(const double charge)
Definition: PixelRecData.h:102
void SetRp(const double rp, const double error)
Definition: EyeRecData.h:239
EyeIterator EyesBegin(const FDetComponentSelector::Type type=FDetComponentSelector::ePhysical) const
iterator pointing to first eye of given type (ePhysical, eVirtual, eAll)
Definition: FDetector.h:72
boost::filter_iterator< ComponentSelector, AllEyeIterator > EyeIterator
selective Eye iterators
Definition: FEvent.h:55
void checkPixelRecDataValues(const fevt::FEvent &event)
bool HasPhotonTrace(const FdConstants::LightSource source) const
Check that trace for source /par source is present.
Definition: PixelSimData.h:51
Fluorescence Detector Channel Simulated Data Event.
void MakeTelescope(const unsigned int telescopeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Make Telescope telescopeId.
Definition: FEvent/Eye.cc:102
void MakeSimData()
Definition: FEvent/Pixel.cc:10
bool PulseIsFound() const
Definition: PixelRecData.h:84
double GetSDPPhiError() const
Definition: EyeRecData.h:78
double GetTZeroError() const
Definition: EyeRecData.h:84
Detector description interface for FDetector-related data.
Definition: FDetector.h:44
double GetChiZeroError() const
Definition: EyeRecData.h:86
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
void MakePixel(const unsigned int pixelId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Make Pixel telescopeId.
utl::TraceD & GetPhotonTrace(const FdConstants::LightSource source=FdConstants::eTotal)
Definition: PixelRecData.h:35
Channel & GetChannel(const unsigned int channelId)
void testChannelSimData()
void SetCentroid(const double centroid, const double err)
Definition: PixelRecData.h:81
void SetPhotonsStartTime(const utl::TimeStamp &ts)
Definition: EyeRecData.h:319
boost::filter_iterator< FDetComponentSelector, AllEyeIterator > EyeIterator
Definition: FDetector.h:69
void checkAll(fevt::FEvent &fevent)
double GetX(const CoordinateSystemPtr &coordinateSystem) const
Definition: BasicVector.h:206
const double ns
utl::TimeInterval GetT_i() const
Definition: PixelRecData.h:124
void checkChannelSimDataValues(const fevt::FEvent &event)
EyeIterator EyesBegin(const ComponentSelector::Status status)
Definition: FEvent.h:58
bool HasPhotonTrace(const FdConstants::LightSource source=FdConstants::eTotal) const
Check that trace for source /par source is present.
Definition: PixelRecData.h:48
void SetTimeFitChiSquare(const double tfitChi2, const unsigned int ndof)
Definition: EyeRecData.h:232
boost::filter_iterator< ComponentSelector, ConstAllPixelIterator > ConstPixelIterator
void setPixelSimDataValues(fevt::FEvent &event)
utl::TraceI & GetFADCTrace(const FdConstants::LightSource source=FdConstants::eTotal)
boost::filter_iterator< ComponentSelector, AllTelescopeIterator > TelescopeIterator
selective Telescope iterators
Definition: FEvent/Eye.h:72
void PushBack(const double x, const double xErr, const double y, const double yErr)
Top of Fluorescence Detector event hierarchy.
Definition: FEvent.h:33
void SetPulseStop(const int stop)
Definition: PixelRecData.h:104
Eye-specific shower reconstruction data.
Definition: EyeRecData.h:65
Eye & GetEye(const unsigned int eyeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
return Eye by id
Definition: FEvent.cc:70
unsigned int fNEyes
void MakeChannel(const unsigned int channelId)
void MakePhotonTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
Definition: PixelRecData.cc:29
const utl::AxialVector & GetSDP() const
Definition: EyeRecData.h:75
double GetTimeFitChiSquare() const
Definition: EyeRecData.h:92
boost::filter_iterator< TelIsCommissioned, InternalConstTelescopeIterator > TelescopeIterator
An iterator over telescopes.
Definition: FDetector/Eye.h:76
void SetThreshold(const int thr)
Set the simulated trigger threshold of the pixel.
Definition: PixelSimData.h:130
fevt::FEvent & GetFEvent()
Pixel & GetPixel(const unsigned int pixelId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Retrieve Pixel by Id, throw exception if not existent.
double GetY(const CoordinateSystemPtr &coordinateSystem) const
Definition: BasicVector.h:209
boost::filter_iterator< ComponentSelector, AllPixelIterator > PixelIterator
selective Pixel iterators
A TimeInterval is used to represent time elapsed between two events.
Definition: TimeInterval.h:43
PhotonTraceIterator PhotonTracesEnd()
Last std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelRecData.h:61
void setAll(fevt::FEvent &fevent)
PhotonTraceIterator PhotonTracesBegin()
First std::pair&lt;int source, TraceD * trace&gt;
Definition: PixelSimData.h:60
static CentralConfig * GetInstance()
Use this the first time you get an instance of central configuration.
void checkPixelSimDataValues(const fevt::FEvent &event)
double GetTotalCharge() const
integrated pulse charge
Definition: PixelRecData.h:68
void MakeSimData()
boost::indirect_iterator< InternalConstChannelIterator, const Channel & > ConstChannelIterator
An iterator over available channles for read.
utl::TraceD & GetPhotonTrace(const FdConstants::LightSource source=FdConstants::eTotal)
Simulated Photon Trace.
Definition: PixelSimData.h:37
total (shower and background)
Vector object.
Definition: Vector.h:30
void SetSDPThetaError(const double sdpThetaError)
Definition: EyeRecData.h:220
utl::TimeInterval GetT_iError() const
Definition: PixelRecData.h:125
boost::indirect_iterator< InternalChannelIterator, Channel & > ChannelIterator
An iterator over available channels for r/w.
void SetSDP(const utl::AxialVector &vec)
Definition: EyeRecData.h:218
double GetTZero() const
Definition: EyeRecData.h:83
void SetTZero(const double tzero, const double error)
Definition: EyeRecData.h:235
void SetRMS(const double rms)
Definition: PixelRecData.h:107
utl::TabulatedFunctionErrors & GetLightFlux(const FdConstants::LightSource source=fevt::FdConstants::eTotal)
Light flux at diaphragm, photons/m^2 versus time in ns.
Definition: EyeRecData.h:286
void SetBaseline(const double bl)
Definition: PixelRecData.h:106
double GetZ(const CoordinateSystemPtr &coordinateSystem) const
Definition: BasicVector.h:212
double GetCentroid() const
Definition: PixelRecData.h:78
void MakeRecData()
Definition: FEvent/Pixel.cc:21
Fluorescence Detector Pixel Reconstructed Data.
Definition: PixelRecData.h:27
utl::MultiTraceD::ConstIterator ConstPhotonTraceIterator
Definition: PixelRecData.h:54
TimeStamp GetTimeStamp() const
Definition: UTCDateTime.cc:115
boost::filter_iterator< ComponentSelector, ConstAllTelescopeIterator > ConstTelescopeIterator
Definition: FEvent/Eye.h:73
void MakeLightFlux(const FdConstants::LightSource source=FdConstants::eTotal)
Definition: EyeRecData.h:293
void setEyeRecDataValues(fevt::FEvent &event)
void SetChi_i(const double chi_i)
Definition: PixelRecData.h:114
Fluorescence Detector Pixel Simulated Data.
Definition: PixelSimData.h:28
FADCTraceIterator FADCTracesBegin()
First std::pair&lt;int source, TraceD* trace&gt;
void MakePhotonTrace(unsigned int size, double binning, const FdConstants::LightSource source=FdConstants::eTotal)
Definition: PixelSimData.cc:31
EyeIterator EyesEnd(const FDetComponentSelector::Type type=FDetComponentSelector::ePhysical) const
iterator pointing to end of available eyes of given type (ePhysical, eVirtual, eAll) ...
Definition: FDetector.h:76
void setChannelSimDataValues(fevt::FEvent &event)
double GetSDPThetaError() const
Definition: EyeRecData.h:77

, generated on Tue Sep 26 2023.