Simulates the FD telescope. More...
#include <TelescopeSimulator.h>
Public Types | |
typedef std::list< std::pair < utl::Photon, int > > | PhotonList |
typedef PhotonList::const_iterator | PhotonListConstIterator |
typedef PhotonList::iterator | PhotonListIterator |
enum | ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop } |
Flag returned by module methods to the RunController. More... | |
enum | VersionInfoType { eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4, eLastEditor = 5 } |
Different types of version info that can be retrieved from GetVersionInfo. More... | |
Public Member Functions | |
fwk::VModule::ResultFlag | Finish () |
Finish: invoked at end of the run (NOT end of the event) More... | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
fwk::VModule::ResultFlag | Init () |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
fwk::VModule::ResultFlag | Run (evt::Event &event) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
void | SetSpotPhotonList (PhotonList &phList) |
void | SetStoreLightComponentsAtPixels (const bool store) |
Sets whether pixel traces are stored for individual light components. More... | |
bool | StoreLightComponentsAtPixels () |
Returns whether pixel traces are stored for individual light components. More... | |
TelescopeSimulator () | |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
REGISTER_MODULE ("TelescopeSimulatorKG2", TelescopeSimulator) | |
Static Private Member Functions | |
static void | TransformToLocalCameraCoordinates (const double laz, const double lze, double &caz, double &cze) |
Simulates the FD telescope.
Definition at line 52 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
typedef std::list<std::pair<utl::Photon, int> > TelescopeSimulatorKG2::TelescopeSimulator::PhotonList |
Definition at line 55 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
typedef PhotonList::const_iterator TelescopeSimulatorKG2::TelescopeSimulator::PhotonListConstIterator |
Definition at line 57 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
typedef PhotonList::iterator TelescopeSimulatorKG2::TelescopeSimulator::PhotonListIterator |
Definition at line 56 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
protectedinherited |
|
inherited |
Flag returned by module methods to the RunController.
Enumerator | |
---|---|
eSuccess |
Report success to RunController. |
eFailure |
Report failure to RunController, causing RunController to terminate execution. |
eBreakLoop |
Break current loop. It works for nested loops too! |
eContinueLoop |
Skip remaining modules in the current loop and continue with next iteration of the loop. |
|
inherited |
TelescopeSimulator::TelescopeSimulator | ( | ) |
Definition at line 81 of file TelescopeSimulatorKG2/TelescopeSimulator.cc.
|
virtual |
Finish: invoked at end of the run (NOT end of the event)
This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 691 of file TelescopeSimulatorKG2/TelescopeSimulator.cc.
References fwk::VModule::eSuccess, fN_1, fN_2, fN_3, fN_4, fN_5, fN_6, fNHit, and INFO.
|
staticinherited |
Definition at line 8 of file VModule.cc.
References fwk::VModule::eBreakLoop, fwk::VModule::eContinueLoop, fwk::VModule::eFailure, and fwk::VModule::eSuccess.
Referenced by fwk::RunController::DoNextInSequence(), fwk::RunController::FinishBranch(), and fwk::RunController::InitBranch().
|
inlineinherited |
Definition at line 106 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inlineinherited |
Definition at line 107 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inherited |
Retrieve different sorts of module version info.
Definition at line 26 of file VModule.cc.
Referenced by fwk::CentralConfig::GetConfig(), ThresholdCalculatorKG::ThresholdCalculator::Init(), fdDoubleBumpFinder::FdDoubleBumpFinder::Init(), LaserGeneratorNA::LaserGenerator::Init(), LaserLightSimulatorNA::LaserLightSimulator::Init(), FdElectronicsSimulatorOG::FdElectronicsSimulator::Init(), TelescopeSimulatorKG::TelescopeSimulator::Init(), Init(), SdSimpleSimKG::SdSimpleSim::Init(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Init(), and testRunController::testModuleVersionInfo().
|
virtual |
Initialize: invoked at beginning of run (NOT beginning of event)
This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 88 of file TelescopeSimulatorKG2/TelescopeSimulator.cc.
References utl::cm, utl::deg, fwk::VModule::eFailure, ERROR, fwk::VModule::eSuccess, fDraw, fDrawMercReflections, fDrawNumberOfPhotons, fDrumMode, fFilterDustAbsorptionOutside, fFilterIncreaseReflectionInside, fFilterIncreaseReflectionOutside, fFilterPosition, fFilterPositionHorizontal, fFilterPositionVertical, fFilterPositionVertical2, fGeneralConfigSignature, fLensIncreaseReflection, fLensPosition, fMaxMirrorReflections, fMinLensThickness, fMirrorAbsorptionBot, fMirrorAbsorptionTop, fMirrorDiffusionBot, fMirrorDiffusionBotAngles, fMirrorDiffusionBotValues, fMirrorDiffusionTop, fMirrorDiffusionTopAngles, fMirrorDiffusionTopValues, fMirrorRadiusSigma, fMirrorSegmentSigma, fMirrorSize, fPMT_n, fRandomEngine, fShadowDataOutName, fSimualteCameraSupportShadow, fSimulateCameraShadow, fSimulateFilterStructure, fSimulateGhostEffects, fSimulateHaloEffects, fSimulateMercedesStars, fStoreLightComponentsAtPixels, fTorusRadius, fTorusZ0, fTubeRadius, fVerbosityLevel, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), fwk::VModule::GetVersionInfo(), INFO, and utl::mm.
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
private |
|
virtual |
Run: invoked once per event.
This method is for things that should be done once per event {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 336 of file TelescopeSimulatorKG2/TelescopeSimulator.cc.
References TelescopeSimulatorKG2::eAbsorbed, fevt::ComponentSelector::eDeSelected, fwk::VModule::eFailure, fevt::ComponentSelector::eInDAQ, TelescopeSimulatorKG2::eOK, ERROR, fwk::VModule::eSuccess, TelescopeSimulatorKG2::eTerminate, fevt::FdConstants::eTotal, fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), fDraw, fDrawMercReflections, fDrawNumberOfPhotons, fDrumMode, fFilterDustAbsorptionOutside, fFilterIncreaseReflectionInside, fFilterIncreaseReflectionOutside, fFilterPosition, fFilterPositionHorizontal, fFilterPositionVertical, fFilterPositionVertical2, fGeneralConfigSignature, fLensIncreaseReflection, fLensPosition, fMaxMirrorReflections, fMinLensThickness, fMirrorAbsorptionBot, fMirrorAbsorptionTop, fMirrorDiffusionBot, fMirrorDiffusionTop, fMirrorRadiusSigma, fMirrorSegmentSigma, fMirrorSize, fN_1, fN_2, fN_3, fN_4, fN_5, fN_6, fNHit, fPMT_n, fRandomEngine, fSimualteCameraSupportShadow, fSimulateCameraShadow, fSimulateFilterStructure, fSimulateGhostEffects, fSimulateHaloEffects, fSimulateMercedesStars, fStoreLightComponentsAtPixels, fTorusRadius, fTorusZ0, fTubeRadius, fVerbosityLevel, fdet::Telescope::GetCamera(), fdet::Telescope::GetConfigSignatureStr(), utl::RandomEngine::GetEngine(), fdet::Camera::GetFADCBinSize(), det::Detector::GetFDetector(), fdet::Telescope::GetFilter(), fevt::Eye::GetId(), utl::TimeInterval::GetInterval(), fdet::Telescope::GetLastRow(), fdet::Telescope::GetMeasuredRelativeEfficiency(), fdet::FDetector::GetModelMaxWavelength(), fdet::FDetector::GetModelMinWavelength(), fdet::Telescope::GetModelRelativeEfficiency(), fevt::TelescopeSimData::GetNPhotons(), fevt::TelescopeSimData::GetNumberOfPhotonBins(), fevt::PixelSimData::GetPhotonTrace(), fevt::PixelSimData::GetPhotonWeightSquareTrace(), fevt::Telescope::GetPixel(), fdet::Telescope::GetPixel(), fdet::Pixel::GetQEfficiency(), fdet::FDetector::GetReferenceLambda(), fevt::Pixel::GetSimData(), fevt::Telescope::GetSimData(), fdet::FDetector::GetTelescope(), utl::Photon::GetTime(), fdet::Filter::GetTransmittance(), utl::Photon::GetWeight(), evt::Event::HasFEvent(), fevt::PixelSimData::HasPhotonTrace(), fevt::PixelSimData::HasPhotonWeightSquareTrace(), fevt::Telescope::HasPixel(), fevt::Pixel::HasSimData(), evt::Event::HasSimShower(), INFO, fevt::PixelSimData::MakePhotonTrace(), fevt::PixelSimData::MakePhotonWeightSquareTrace(), fevt::Telescope::MakePixel(), fevt::Pixel::MakeSimData(), utl::nanometer, ns, fevt::TelescopeSimData::PhotonsBegin(), fevt::TelescopeSimData::PhotonsEnd(), TelescopeSimulatorKG2::RTResultName, fevt::TelescopeSimData::SetConfigSignatureStr(), utl::Sqr(), fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), TelescopeSimulatorKG2::RayTracer::Trace(), WARNING, and utl::TabulatedFunction::Y().
|
inlineinherited |
Definition at line 98 of file VModule.h.
References fwk::VModule::fStopwatch, fwk::VModule::Run(), utl::Stopwatch::Start(), and utl::Stopwatch::Stop().
Referenced by fwk::RunController::DoNextInSequence().
void TelescopeSimulatorKG2::TelescopeSimulator::SetSpotPhotonList | ( | PhotonList & | phList | ) |
|
inline |
Sets whether pixel traces are stored for individual light components.
Definition at line 72 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
References fStoreLightComponentsAtPixels.
|
inline |
Returns whether pixel traces are stored for individual light components.
Definition at line 68 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
References fStoreLightComponentsAtPixels.
|
staticprivate |
|
private |
Definition at line 124 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 125 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 126 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 136 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 109 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 103 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 104 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 105 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 108 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 106 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 107 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 137 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
protectedinherited |
Definition at line 123 of file VModule.h.
Referenced by RdChannelASCIINoiseImporterRD::RdChannelASCIINoiseImporterRD::Init(), Rd2dLDFFitter::Rd2dLDFFitter::Init(), RdChannelNoiseImporter_AERA::RdChannelNoiseImporter_AERA::Init(), and Rd2dLDFFitter::Rd2dLDFFitter::Run().
|
private |
Definition at line 112 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 113 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 87 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 115 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 94 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 93 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 100 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 99 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init().
|
private |
Definition at line 98 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init().
|
private |
Definition at line 97 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 96 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init().
|
private |
Definition at line 95 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init().
|
private |
Definition at line 92 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 91 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 90 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 141 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 142 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 143 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 144 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 145 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 146 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 140 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 121 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 133 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 129 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init().
|
private |
Definition at line 80 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 79 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 82 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 84 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 83 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 81 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 131 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
Referenced by Init(), Run(), SetStoreLightComponentsAtPixels(), and StoreLightComponentsAtPixels().
|
private |
Definition at line 116 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 118 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 117 of file TelescopeSimulatorKG2/TelescopeSimulator.h.
|
private |
Definition at line 76 of file TelescopeSimulatorKG2/TelescopeSimulator.h.