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

Simulates the Fluorescence and Cerenkov light along the shower axis. More...

#include <ShowerLightSimulator.h>

Inheritance diagram for ShowerLightSimulatorKG::ShowerLightSimulator:
Inheritance graph
[legend]

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

void CherenkovLight (evt::Event &event, double distInit, double distFinal, bool upwardGoing, bool useCherenkovProfile)
 Simulate the Cherenkov light beam along the shower axis. More...
 
fwk::VModule::ResultFlag Finish ()
 Finish: invoked at end of the run (NOT end of the event) More...
 
void FluorescenceLight (evt::Event &event, double distInit, double distFinal, bool upwardGoing)
 Simulate the Fluorescence photons generated isotropically along the shower axis. 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 ()
 
void PrimaryCherenkovLight (evt::Event &event)
 Generate Cherenkov emission from primary particle. More...
 
fwk::VModule::ResultFlag Run (evt::Event &event)
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 
 ShowerLightSimulator ()
 
 ~ShowerLightSimulator ()
 

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 ("ShowerLightSimulatorKG", ShowerLightSimulator)
 

Private Attributes

bool fCherenkov
 
bool fFlatEarth
 
bool fFluorescence
 
int fOverRidePrimaryCharge
 
bool fPrimaryCherenkov
 
double fTimeBin
 
bool fUseCherenkovProfile
 

Detailed Description

Simulates the Fluorescence and Cerenkov light along the shower axis.

Author
Luis Prado Jr
Date
13 Oct 2003
Author
Ralf Ulrich
Date
Fri Apr 21 13:25:45 ART 2006

Definition at line 40 of file ShowerLightSimulator.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

ShowerLightSimulatorKG::ShowerLightSimulator::ShowerLightSimulator ( )
inline

Definition at line 43 of file ShowerLightSimulator.h.

ShowerLightSimulatorKG::ShowerLightSimulator::~ShowerLightSimulator ( )
inline

Definition at line 44 of file ShowerLightSimulator.h.

Member Function Documentation

void ShowerLightSimulator::CherenkovLight ( evt::Event event,
double  distInitCore,
double  distFinalCore,
bool  upwardGoing,
bool  useCherenkovProfile 
)

Simulate the Cherenkov light beam along the shower axis.

Simulate the Cherenkov light production and beam along the shower axis.

Cherenkov light is NOT isotropically emitted, and therefore the shower direction has to be taken properly into account

Definition at line 573 of file ShowerLightSimulator.cc.

References evt::ShowerSimData::AddCherenkovBeamPhotons(), evt::ShowerSimData::AddCherenkovBeamProductionPhotons(), evt::ShowerSimData::AddCherenkovPhotons(), evt::ShowerSimData::eElectron, ERROR, atm::Atmosphere::EvaluateCherenkovPhotons(), atm::Atmosphere::EvaluateDepthVsHeight(), atm::Atmosphere::EvaluateMieAttenuation(), atm::Atmosphere::EvaluateRayleighAttenuation(), atm::Atmosphere::EvaluateSlantDepthVsDistance(), fwk::CoordinateSystemRegistry::Get(), det::Detector::GetAtmosphere(), evt::ShowerSimData::GetCherenkovBeamPhotons(), evt::ShowerSimData::GetCherenkovBeamProductionPhotons(), evt::ShowerSimData::GetCherenkovPhotons(), evt::ShowerSimData::GetDirection(), evt::ShowerSimData::GetEnergyCutoff(), evt::ShowerSimData::GetGHParameters(), evt::ShowerSimData::GetLocalCoordinateSystem(), evt::ShowerSimData::GetLongitudinalProfile(), evt::ShowerSimData::GetMaxCherenkovWavelength(), evt::ShowerSimData::GetMinCherenkovWavelength(), utl::TabulatedFunction::GetNPoints(), evt::ShowerSimData::GetShowerCoordinateSystem(), atm::AttenuationResult::GetTransmissionFactor(), atm::Atmosphere::GetWavelengths(), evt::VGaisserHillasParameter::GetXMax(), utl::TabulatedFunction::GetY(), evt::ShowerSimData::HasCherenkovBeamPhotons(), evt::ShowerSimData::HasCherenkovBeamProductionPhotons(), evt::ShowerSimData::HasCherenkovPhotons(), INFO, utl::TabulatedFunction::Insert(), utl::kSpeedOfLight, G4StationSimulatorOG::p, utl::ReferenceEllipsoid::PointToLatitudeLongitudeHeight(), atm::Atmosphere::SetCherenkovEnergyCutoff(), utl::ShowerAge(), WARNING, atm::ProfileResult::Y(), and utl::TabulatedFunction::Y().

VModule::ResultFlag ShowerLightSimulator::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 457 of file ShowerLightSimulator.cc.

References io::eSuccess.

void ShowerLightSimulator::FluorescenceLight ( evt::Event event,
double  distInitCore,
double  distFinalCore,
bool  upwardGoing 
)
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 ShowerLightSimulator::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 60 of file ShowerLightSimulator.cc.

References 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().

void ShowerLightSimulator::PrimaryCherenkovLight ( evt::Event event)
ShowerLightSimulatorKG::ShowerLightSimulator::REGISTER_MODULE ( "ShowerLightSimulatorKG"  ,
ShowerLightSimulator   
)
private
VModule::ResultFlag ShowerLightSimulator::Run ( evt::Event event)
virtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

bool ShowerLightSimulatorKG::ShowerLightSimulator::fCherenkov
private

Definition at line 69 of file ShowerLightSimulator.h.

bool ShowerLightSimulatorKG::ShowerLightSimulator::fFlatEarth
private

Definition at line 71 of file ShowerLightSimulator.h.

bool ShowerLightSimulatorKG::ShowerLightSimulator::fFluorescence
private

Definition at line 68 of file ShowerLightSimulator.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
int ShowerLightSimulatorKG::ShowerLightSimulator::fOverRidePrimaryCharge
private

Definition at line 73 of file ShowerLightSimulator.h.

bool ShowerLightSimulatorKG::ShowerLightSimulator::fPrimaryCherenkov
private

Definition at line 70 of file ShowerLightSimulator.h.

double ShowerLightSimulatorKG::ShowerLightSimulator::fTimeBin
private

Definition at line 72 of file ShowerLightSimulator.h.

bool ShowerLightSimulatorKG::ShowerLightSimulator::fUseCherenkovProfile
private

Definition at line 74 of file ShowerLightSimulator.h.


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

, generated on Tue Sep 26 2023.