List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | Private Member Functions | Private Attributes
LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator Class Reference

Simulates the light flux at the diaphragm of the FD telescopes. More...

#include <LightAtDiaphragmSimulator.h>

Inheritance diagram for LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator:
Inheritance graph
[legend]

Classes

struct  FOVTelInfo
 

Public Types

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
 
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 ()
 
 LightAtDiaphragmSimulator ()
 
fwk::VModule::ResultFlag Run (evt::Event &event)
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
 ~LightAtDiaphragmSimulator ()
 

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

double CalculateDistanceFromCore (const double tDia, const double Rp, const double T0)
 
void EvaluateDirectCherenkovHits (evt::Event &event)
 
 REGISTER_MODULE ("LightAtDiaphragmSimulatorKG", LightAtDiaphragmSimulator)
 

Private Attributes

bool fCherDirect
 
bool fCherDirectCORSIKA
 
bool fCherMieScattered
 
bool fCherRayleighScattered
 
bool fFluorDirect
 
bool fIsLaserEvent
 
bool fLaserMieScattered
 
bool fLaserRayleighScattered
 
bool fWlRefrac
 

Detailed Description

Simulates the light flux at the diaphragm of the FD telescopes.

Author
Ralf Ulrich
Date
Fri Feb 10 20:21:44 CET 2006

Definition at line 35 of file LightAtDiaphragmSimulator.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

LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::LightAtDiaphragmSimulator ( )
inline

Definition at line 72 of file LightAtDiaphragmSimulator.h.

LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::~LightAtDiaphragmSimulator ( )
inline

Definition at line 73 of file LightAtDiaphragmSimulator.h.

Member Function Documentation

double LightAtDiaphragmSimulator::CalculateDistanceFromCore ( const double  tDia,
const double  Rp,
const double  T0 
)
inlineprivate

Definition at line 579 of file LightAtDiaphragmSimulator.cc.

References utl::kSpeedOfLight, and std::pow().

void LightAtDiaphragmSimulator::EvaluateDirectCherenkovHits ( evt::Event event)
private

Definition at line 598 of file LightAtDiaphragmSimulator.cc.

References fevt::TelescopeSimData::AddPhoton(), atm::Atmosphere::eCerenkov, fevt::FdConstants::eCherDirect, fevt::ComponentSelector::eDeSelected, fevt::ComponentSelector::eInDAQ, utl::Particle::ePhoton, ERROR, atm::Atmosphere::EvaluateMieAttenuation(), atm::Atmosphere::EvaluateRayleighAttenuation(), fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), file, det::Detector::GetAtmosphere(), fdet::Telescope::GetAxis(), utl::Trace< T >::GetBinning(), fdet::Telescope::GetCamera(), fdet::Telescope::GetDiaphragmArea(), fdet::Telescope::GetDiaphragmRadius(), fevt::TelescopeSimData::GetDistanceTrace(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), det::Detector::GetFDetector(), fdet::Camera::GetFieldOfView(), fevt::Eye::GetId(), utl::TimeInterval::GetInterval(), evt::ShowerSimData::GetLocalCoordinateSystem(), utl::Vector::GetMag(), fdet::Telescope::GetModelRelativeEfficiency(), fevt::TelescopeSimData::GetPhotonsStartTime(), fevt::TelescopeSimData::GetPhotonTrace(), fdet::Telescope::GetPosition(), fevt::Telescope::GetSimData(), det::Detector::GetSiteCoordinateSystem(), utl::Trace< T >::GetSize(), fevt::Eye::GetStatus(), fdet::FDetector::GetTelescope(), fdet::Telescope::GetTelescopeCoordinateSystem(), evt::ShowerSimData::GetTimeStamp(), atm::Atmosphere::GetWavelengths(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), evt::ShowerSimData::GroundCherenkovBegin(), evt::ShowerSimData::GroundCherenkovEnd(), fevt::TelescopeSimData::HasDistanceTrace(), evt::ShowerSimData::HasGroundCherenkov(), fevt::TelescopeSimData::HasPhotonTrace(), fevt::Telescope::HasSimData(), INFO, utl::kPlanck, utl::kSpeedOfLight, fevt::TelescopeSimData::MakePhotonTrace(), galactic::meter, ns, std::pow(), utl::Photon::SetTime(), sqrt(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().

VModule::ResultFlag LightAtDiaphragmSimulator::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 555 of file LightAtDiaphragmSimulator.cc.

References io::eSuccess.

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.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag LightAtDiaphragmSimulator::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 69 of file LightAtDiaphragmSimulator.cc.

References ERROR, io::eSuccess, utl::Branch::GetChild(), utl::Branch::GetData(), utl::Branch::GetTopBranch(), and INFO.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::REGISTER_MODULE ( "LightAtDiaphragmSimulatorKG"  ,
LightAtDiaphragmSimulator   
)
private
VModule::ResultFlag LightAtDiaphragmSimulator::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 128 of file LightAtDiaphragmSimulator.cc.

References utl::CosAngle(), utl::cross(), fevt::FdConstants::eCherDirect, fevt::FdConstants::eCherMieScattered, fevt::FdConstants::eCherRayleighScattered, fevt::ComponentSelector::eDeSelected, fevt::FdConstants::eFluorDirect, fevt::ComponentSelector::eInDAQ, fevt::FdConstants::eLaserMieScattered, fevt::FdConstants::eLaserRayleighScattered, ERROR, io::eSuccess, atm::Atmosphere::EvaluateDepthVsHeight(), atm::Atmosphere::EvaluateDirectCherenkovProbability(), atm::Atmosphere::EvaluateMieAttenuation(), atm::Atmosphere::EvaluateMieScattering(), atm::Atmosphere::EvaluateRayleighAttenuation(), atm::Atmosphere::EvaluateRayleighScattering(), atm::Atmosphere::EvaluateSlantDepthVsDistance(), fevt::FEvent::EyesBegin(), fevt::FEvent::EyesEnd(), det::Detector::GetAtmosphere(), utl::Trace< T >::GetBinning(), evt::ShowerSimData::GetCherenkovBeamPhotons(), evt::ShowerSimData::GetCherenkovPhotons(), evt::ShowerSimData::GetDirection(), fevt::TelescopeSimData::GetDistanceTrace(), det::Detector::GetFDetector(), evt::ShowerSimData::GetFluorescencePhotons(), evt::ShowerSimData::GetGHParameters(), evt::ShowerSimData::GetLocalCoordinateSystem(), utl::AxialVector::GetMag(), utl::Vector::GetMag(), utl::Vector::GetMag2(), utl::TabulatedFunction::GetNPoints(), fevt::TelescopeSimData::GetPhotonsStartTime(), fevt::TelescopeSimData::GetPhotonTrace(), fdet::Telescope::GetPosition(), atm::ScatteringResult::GetScatteringFactor(), evt::ShowerSimData::GetShowerCoordinateSystem(), fevt::Telescope::GetSimData(), utl::Trace< T >::GetSize(), fevt::Eye::GetStatus(), fdet::FDetector::GetTelescope(), evt::ShowerSimData::GetTimeStamp(), atm::AttenuationResult::GetTransmissionFactor(), atm::Atmosphere::GetWavelengths(), evt::VGaisserHillasParameter::GetXMax(), evt::ShowerSimData::HasCherenkovBeamPhotons(), evt::ShowerSimData::HasCherenkovPhotons(), fevt::TelescopeSimData::HasDistanceTrace(), evt::Event::HasFEvent(), evt::ShowerSimData::HasFluorescencePhotons(), evt::ShowerSimData::HasGHParameters(), evt::ShowerSimData::HasLaserData(), evt::ShowerSimData::HasLongitudinalProfile(), fevt::TelescopeSimData::HasPhotonTrace(), fevt::Telescope::HasSimData(), evt::Event::HasSimShower(), INFO, utl::kPi, utl::kSpeedOfLight, fevt::TelescopeSimData::MakePhotonTrace(), atm::ProfileResult::MaxX(), atm::ProfileResult::MinX(), utl::ReferenceEllipsoid::PointToLatitudeLongitudeHeight(), utl::ShowerAge(), sqrt(), fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), WARNING, utl::TabulatedFunction::XBegin(), utl::TabulatedFunction::XEnd(), atm::ProfileResult::Y(), and utl::TabulatedFunction::Y().

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fCherDirect
private

Definition at line 88 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fCherDirectCORSIKA
private

Definition at line 89 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fCherMieScattered
private

Definition at line 90 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fCherRayleighScattered
private

Definition at line 91 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fFluorDirect
private

Definition at line 86 of file LightAtDiaphragmSimulator.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fIsLaserEvent
private

Definition at line 96 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fLaserMieScattered
private

Definition at line 93 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fLaserRayleighScattered
private

Definition at line 94 of file LightAtDiaphragmSimulator.h.

bool LightAtDiaphragmSimulatorKG::LightAtDiaphragmSimulator::fWlRefrac
private

Definition at line 98 of file LightAtDiaphragmSimulator.h.


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

, generated on Tue Sep 26 2023.