9 #include <fevt/TelescopeSimData.h>
12 #include <utl/ErrorLogger.h>
13 #include <utl/Trace.h>
14 #include <utl/MultiTrace.h>
15 #include <utl/AugerException.h>
16 #include <utl/Md5Sum.h>
25 TelescopeSimData::TelescopeSimData() :
26 fNumberOfPhotonBins(0),
28 fNFltPixelsFromShower(0),
29 fNFltPixelsFromBackground(0),
30 fNPixelWithShowerLight(0),
34 fConfigSignatureStr(
""),
44 err <<
"Photon trace for source=" << source <<
" does not exist!";
50 err <<
"Photon trace for source=" << source <<
" at wlBin=" << wl <<
" does not exist!";
65 err <<
"Photon trace for source=" << source <<
" does not exist!";
69 if (!it->second.HasLabel(wl)) {
71 err <<
"Photon trace for source=" << source <<
" at wlBin=" << wl <<
" does not exist!";
75 return it->second.GetTrace(wl);
101 const unsigned int size,
const double binSize)
104 ERROR(
"Source already exists. Not Changing.");
117 err <<
"Photon trace for source=" << source <<
" does not exist!";
121 return it->second.Begin();
132 err <<
"Photon trace for source=" << source <<
" does not exist!";
136 return it->second.Begin();
146 err <<
"Photon trace for source=" << source <<
" does not exist!";
150 return it->second.End();
161 err <<
"Photon trace for source=" << source <<
" does not exist!";
165 return it->second.End();
173 ERROR(
"RayTracedPhotonTrace already exists");
184 ERROR(
"Trace already exists");
Class to compute MD5 checksum Based on the RSA C code, wrapped in an OO fashion.
PhotonTraceSourceContainer::const_iterator ConstPhotonTraceSourceIterator
bool HasPhotonTrace(const fevt::FdConstants::LightSource source, const int wl) const
Check that light trace for source /par source is present for the given wavelength bin...
std::string fConfigSignatureStr
Base class for exceptions trying to access non-existing components.
utl::ShadowPtr< utl::TraceD > fDistanceTrace
utl::MultiTraceD::Iterator PhotonTraceIterator
An iterator over the components of the photon trace.
void MakeDistanceTrace(const unsigned int size=0, const double binSize=0)
Make the trace of distance along the shower axis of light at the diaphragm.
utl::ShadowPtr< utl::TraceI > fRayTracedPhotonTrace
void MakePhotonTrace(const fevt::FdConstants::LightSource source, const int wl, const unsigned int size=0, const double binSize=0)
PhotonTraceSourceContainer::iterator PhotonTraceSourceIterator
LightSource
Possible light sources.
PhotonTraceSourceContainer fPhotonTraces
utl::TraceD & GetPhotonTrace(const fevt::FdConstants::LightSource source, const int wl)
Photon trace at diaphragm.
const std::string & GetConfigSignature() const
PhotonTraceIterator PhotonTracesEnd(const fevt::FdConstants::LightSource source)
PhotonTraceIterator PhotonTracesBegin(const fevt::FdConstants::LightSource source)
std::string GetHexDigest()
std::string fConfigSignature
void ClearConfigSignature()
void MakeRayTracedPhotonTrace(const unsigned int size=0, const double binSize=0)
Add a trace for the number of photons that were ray-traced.
utl::MultiTraceD::ConstIterator ConstPhotonTraceIterator
#define ERROR(message)
Macro for logging error messages.