List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes
TelescopeSimulatorKG::TelescopeSimulator Class Reference

Simulates the FD telescope. More...

#include <TelescopeSimulator.h>

Inheritance diagram for TelescopeSimulatorKG::TelescopeSimulator:
Inheritance graph
[legend]

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::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () const
 
int GetVerbosity ()
 Returns the current verbosity level. More...
 
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...
 
void SetVerbosity (const int verbosity)
 Sets the verbosity level. 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 ("TelescopeSimulatorKG", TelescopeSimulator)
 

Static Private Member Functions

static void TransformToLocalCameraCoordinates (const double laz, const double lze, double &caz, double &cze)
 

Private Attributes

bool fDoNoShadow
 
bool fDoNoShadowSupport
 
bool fDraw
 
int fDrawNumberOfPhotons
 
bool fDrumMode
 
std::string fGeneralConfigSignature
 
bool fHasNoMercedes
 
std::map< int, unsigned int > fN_1
 
std::map< int, unsigned int > fN_2
 
std::map< int, unsigned int > fN_3
 
std::map< int, unsigned int > fN_4
 
std::map< int, unsigned int > fN_5
 
std::map< int, unsigned int > fN_6
 
std::map< int, unsigned int > fNHit
 
utl::RandomEnginefRandomEngine
 
std::string fShadowDataOutName
 
bool fSpotMode
 
PhotonListfSpotPhotonList
 
bool fStoreLightComponentsAtPixels
 
int fVerbosityLevel
 

Detailed Description

Simulates the FD telescope.

Author
Ralf Ulrich
Date
Fri Apr 21 13:57:20 ART 2006

Definition at line 51 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Member Typedef Documentation

Definition at line 54 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Definition at line 56 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Definition at line 55 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Member Enumeration Documentation

enum fwk::VModule::InfoLevel
protectedinherited
Enumerator
eInfoNone 
eInfoFinal 
eInfoIntermediate 
eInfoDebug 

Definition at line 125 of file VModule.h.

enum fwk::VModule::ResultFlag
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.

Definition at line 60 of file VModule.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Constructor & Destructor Documentation

TelescopeSimulator::TelescopeSimulator ( )

Definition at line 81 of file TelescopeSimulatorKG/TelescopeSimulator.cc.

Member Function Documentation

VModule::ResultFlag TelescopeSimulator::Finish ( )
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 503 of file TelescopeSimulatorKG/TelescopeSimulator.cc.

References fwk::VModule::eSuccess, fDrumMode, fN_1, fN_2, fN_3, fN_4, fN_5, fN_6, fNHit, fShadowDataOutName, and INFO.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

int TelescopeSimulatorKG::TelescopeSimulator::GetVerbosity ( )
inline
std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag TelescopeSimulator::Init ( )
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 87 of file TelescopeSimulatorKG/TelescopeSimulator.cc.

References fwk::VModule::eSuccess, fDoNoShadow, fDoNoShadowSupport, fDraw, fDrawNumberOfPhotons, fDrumMode, fGeneralConfigSignature, fHasNoMercedes, fRandomEngine, fShadowDataOutName, fSpotMode, fSpotPhotonList, fStoreLightComponentsAtPixels, fVerbosityLevel, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), fwk::VModule::GetVersionInfo(), and INFO.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

TelescopeSimulatorKG::TelescopeSimulator::REGISTER_MODULE ( "TelescopeSimulatorKG"  ,
TelescopeSimulator   
)
private
VModule::ResultFlag TelescopeSimulator::Run ( evt::Event event)
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 170 of file TelescopeSimulatorKG/TelescopeSimulator.cc.

References TelescopeSimulatorKG::eAbsorbed, fevt::ComponentSelector::eDeSelected, fwk::VModule::eFailure, fevt::ComponentSelector::eInDAQ, TelescopeSimulatorKG::eOK, ERROR, fwk::VModule::eSuccess, fevt::FdConstants::eTotal, fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), fDoNoShadow, fDoNoShadowSupport, fDraw, fDrawNumberOfPhotons, fDrumMode, fGeneralConfigSignature, fHasNoMercedes, fN_1, fN_2, fN_3, fN_4, fN_5, fN_6, fNHit, fRandomEngine, fSpotMode, fSpotPhotonList, fStoreLightComponentsAtPixels, fVerbosityLevel, fdet::Telescope::GetCamera(), fdet::Telescope::GetConfigSignatureStr(), fdet::Telescope::GetDiaphragmRadius(), 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::Telescope::GetMirror(), 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(), fdet::Mirror::GetReflectivity(), 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(), fevt::Telescope::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(), TelescopeSimulatorKG::RTResultName, fevt::TelescopeSimData::SetConfigSignatureStr(), fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), TelescopeSimulatorKG::RayTracer::Trace(), and utl::TabulatedFunction::Y().

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
void TelescopeSimulator::SetSpotPhotonList ( PhotonList phList)
void TelescopeSimulatorKG::TelescopeSimulator::SetStoreLightComponentsAtPixels ( const bool  store)
inline

Sets whether pixel traces are stored for individual light components.

Definition at line 71 of file TelescopeSimulatorKG/TelescopeSimulator.h.

References fStoreLightComponentsAtPixels.

Referenced by FdLightCollectionEfficiencyKG::FdLightCollectionEfficiency::RunPhotonGenerationRayTracingLoop().

void TelescopeSimulatorKG::TelescopeSimulator::SetVerbosity ( const int  verbosity)
inline
bool TelescopeSimulatorKG::TelescopeSimulator::StoreLightComponentsAtPixels ( )
inline

Returns whether pixel traces are stored for individual light components.

Definition at line 67 of file TelescopeSimulatorKG/TelescopeSimulator.h.

References fStoreLightComponentsAtPixels.

Referenced by FdLightCollectionEfficiencyKG::FdLightCollectionEfficiency::RunPhotonGenerationRayTracingLoop().

void TelescopeSimulator::TransformToLocalCameraCoordinates ( const double  laz,
const double  lze,
double &  caz,
double &  cze 
)
staticprivate

Definition at line 585 of file TelescopeSimulatorKG/TelescopeSimulator.cc.

References utl::kPi.

Member Data Documentation

bool TelescopeSimulatorKG::TelescopeSimulator::fDoNoShadow
private

Definition at line 83 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

bool TelescopeSimulatorKG::TelescopeSimulator::fDoNoShadowSupport
private

Definition at line 84 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

bool TelescopeSimulatorKG::TelescopeSimulator::fDraw
private

Definition at line 88 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

int TelescopeSimulatorKG::TelescopeSimulator::fDrawNumberOfPhotons
private

Definition at line 89 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

bool TelescopeSimulatorKG::TelescopeSimulator::fDrumMode
private

Definition at line 103 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), Init(), and Run().

std::string TelescopeSimulatorKG::TelescopeSimulator::fGeneralConfigSignature
private

Definition at line 104 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

bool TelescopeSimulatorKG::TelescopeSimulator::fHasNoMercedes
private

Definition at line 85 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

int fwk::VModule::fInfoLevel = 0
protectedinherited
std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_1
private

Definition at line 108 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_2
private

Definition at line 109 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_3
private

Definition at line 110 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_4
private

Definition at line 111 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_5
private

Definition at line 112 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fN_6
private

Definition at line 113 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

std::map<int, unsigned int> TelescopeSimulatorKG::TelescopeSimulator::fNHit
private

Definition at line 107 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Run().

utl::RandomEngine* TelescopeSimulatorKG::TelescopeSimulator::fRandomEngine
private

Definition at line 100 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), and Run().

std::string TelescopeSimulatorKG::TelescopeSimulator::fShadowDataOutName
private

Definition at line 92 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Finish(), and Init().

bool TelescopeSimulatorKG::TelescopeSimulator::fSpotMode
private

Definition at line 95 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), Run(), and SetSpotPhotonList().

PhotonList* TelescopeSimulatorKG::TelescopeSimulator::fSpotPhotonList
private

Definition at line 96 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by Init(), Run(), and SetSpotPhotonList().

bool TelescopeSimulatorKG::TelescopeSimulator::fStoreLightComponentsAtPixels
private
int TelescopeSimulatorKG::TelescopeSimulator::fVerbosityLevel
private

Definition at line 80 of file TelescopeSimulatorKG/TelescopeSimulator.h.

Referenced by GetVerbosity(), Init(), Run(), and SetVerbosity().


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.