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

A simple module to reconstruct the light flux at the apertures. More...

#include "FdApertureLightFinderKG/FdApertureLightFinder.h"

Inheritance diagram for FdApertureLightFinderKG::FdApertureLightFinder:
Inheritance graph
[legend]

Classes

class  LastTelTime
 

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

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 Types

enum  eModeOfOperation { ePerEye, ePerTelescope, ePerEyeAndTelescope }
 

Private Member Functions

bool CalculateShowerGeometryData (const fevt::Eye &eye)
 
void FillEyeFluxes (fevt::Eye &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &)
 
void FillFluxes (utl::TabulatedFunctionErrors &, utl::TabulatedFunctionErrors &, utl::TabulatedFunctionErrors &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &)
 
void FillTelescopeFluxes (fevt::Telescope &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< const std::vector< unsigned int > * > &, const std::list< std::pair< double, double >> &)
 
bool FindLightFlux (fevt::Eye &eye)
 
double FindZeta (fevt::Eye &eye, double initZeta, double finZeta, double stepZeta, bool fillFlux=false)
 
utl::TabulatedFunctionErrorsGetClearedEyeLightFlux (fevt::Eye &eye, const fevt::FdConstants::LightSource source)
 
utl::TabulatedFunctionErrorsGetClearedTelescopeLightFlux (fevt::Telescope &tel, const fevt::FdConstants::LightSource source)
 
bool IsNearBorder (const utl::Vector &direction, const fevt::Telescope &telescope, double zeta) const
 
 REGISTER_MODULE ("FdApertureLightKG", FdApertureLightFinder)
 

Private Attributes

double fmaxZetaAngle
 
double fminZetaAngle
 
bool fOnlyUsedForTimeFit
 
double fSafetyMargin
 
std::map< unsigned short,
std::vector
< ShowerGeometryData > > 
fShowerGeometryData
 geometry and trace bin data More...
 
double fstepZetaAngle
 
int fVerbosity = 0
 XML cards. More...
 

Detailed Description

A simple module to reconstruct the light flux at the apertures.

Author
Michela Chiosso
Date
22 Oct 2003
Author
Michael Unger
Date
20 Feb 2007
Author
Steffen Mueller
Date
9 Dec 2009

Definition at line 96 of file FdApertureLightFinderKG/FdApertureLightFinder.h.

Member Enumeration Documentation

Enumerator
ePerEye 
ePerTelescope 
ePerEyeAndTelescope 

Definition at line 98 of file FdApertureLightFinderKG/FdApertureLightFinder.h.

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.

Member Function Documentation

bool FdApertureLightFinder::CalculateShowerGeometryData ( const fevt::Eye eye)
private

calculates shower geometry data for each telescope

Definition at line 135 of file FdApertureLightFinderKG/FdApertureLightFinder.cc.

References Angle(), utl::CosAngle(), fwk::LocalCoordinateSystemConstructor< Policy >::Create(), utl::deg, FdApertureLightFinderKG::ShowerGeometryData::fADCTraceIndex, FdApertureLightFinderKG::ShowerGeometryData::fChiVecMean, FdApertureLightFinderKG::ShowerGeometryData::fEyeBgVarianceSum, FdApertureLightFinderKG::ShowerGeometryData::fEyeFluxSum, FdApertureLightFinderKG::ShowerGeometryData::fEyeVarianceSum, FdApertureLightFinderKG::ShowerGeometryData::fNearBorder, FdApertureLightFinderKG::ShowerGeometryData::fT1, FdApertureLightFinderKG::ShowerGeometryData::fT2, FdApertureLightFinderKG::ShowerGeometryData::fTelBgVarianceSum, FdApertureLightFinderKG::ShowerGeometryData::fTelFluxSum, FdApertureLightFinderKG::ShowerGeometryData::fTelVarianceSum, FdApertureLightFinderKG::ShowerGeometryData::fUsedForTimeFit, fdet::Telescope::GetAxis(), evt::ShowerFRecData::GetAxis(), fdet::Telescope::GetCamera(), fdet::FDetector::GetChannel(), evt::ShowerFRecData::GetCorePosition(), evt::ShowerFRecData::GetCoreTime(), fdet::FDetector::GetEye(), fdet::Eye::GetEyeCoordinateSystem(), fdet::Channel::GetFADCBinSize(), fdet::Camera::GetFADCBinSize(), fdet::Camera::GetFADCTraceLength(), fevt::EyeRecData::GetFRecShower(), fevt::Eye::GetHeader(), fevt::Eye::GetId(), fdet::Telescope::GetId(), utl::Vector::GetMag(), fdet::Telescope::GetPosition(), fevt::Eye::GetRecData(), fevt::Telescope::GetRecData(), fevt::Eye::GetTelescope(), fdet::FDetector::GetTelescope(), fevt::EyeHeader::GetTimeStamp(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), utl::BasicVector< HepVector >::GetZ(), fevt::EyeRecData::HasFRecShower(), fevt::Eye::HasRecData(), INFO, utl::kSpeedOfLight, utl::Vector::Normalize(), utl::ns, fevt::Eye::TelescopesBegin(), fevt::Eye::TelescopesEnd(), fevt::EyeRecData::TimeFitPixelsBegin(), and fevt::EyeRecData::TimeFitPixelsEnd().

void FdApertureLightFinder::FillEyeFluxes ( fevt::Eye eye,
const std::vector< double > &  fluoTime,
const std::vector< double > &  fluoTimeBin,
const std::vector< double > &  fluoFlux,
const std::vector< double > &  vfluoFlux,
const std::vector< double > &  vBackground 
)
private
void FdApertureLightFinder::FillFluxes ( utl::TabulatedFunctionErrors fluolightprofile,
utl::TabulatedFunctionErrors lightprofile,
utl::TabulatedFunctionErrors backgroundProfile,
const std::vector< double > &  fluoTime,
const std::vector< double > &  fluoTimeBin,
const std::vector< double > &  fluoFlux,
const std::vector< double > &  vfluoFlux,
const std::vector< double > &  vBackground 
)
private

Generic guts of the combines-and-fill-flux methods

Definition at line 539 of file FdApertureLightFinderKG/FdApertureLightFinder.cc.

References utl::TabulatedFunctionErrors::PushBack(), and sqrt().

void FdApertureLightFinder::FillTelescopeFluxes ( fevt::Telescope ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< double > &  ,
const std::vector< const std::vector< unsigned int > * > &  ,
const std::list< std::pair< double, double >> &   
)
private
bool FdApertureLightFinder::FindLightFlux ( fevt::Eye eye)
private
double FdApertureLightFinder::FindZeta ( fevt::Eye eye,
double  initZeta,
double  finZeta,
double  stepZeta,
bool  fillFlux = false 
)
private
fwk::VModule::ResultFlag FdApertureLightFinderKG::FdApertureLightFinder::Finish ( )
inlinevirtual

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 107 of file FdApertureLightFinderKG/FdApertureLightFinder.h.

References io::eSuccess.

TabulatedFunctionErrors & FdApertureLightFinder::GetClearedEyeLightFlux ( fevt::Eye eye,
const fevt::FdConstants::LightSource  source 
)
private
TabulatedFunctionErrors & FdApertureLightFinder::GetClearedTelescopeLightFlux ( fevt::Telescope tel,
const fevt::FdConstants::LightSource  source 
)
private
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
fwk::VModule::ResultFlag FdApertureLightFinder::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 64 of file FdApertureLightFinderKG/FdApertureLightFinder.cc.

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

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

bool FdApertureLightFinder::IsNearBorder ( const utl::Vector direction,
const fevt::Telescope telescope,
double  zeta 
) const
private

Check if the light spot centered in direction and of radius zeta touches the borders of the camera

Definition at line 696 of file FdApertureLightFinderKG/FdApertureLightFinder.cc.

References utl::CosAngle(), fevt::Telescope::MirrorEventBorderPixelsBegin(), and fevt::Telescope::MirrorEventBorderPixelsEnd().

FdApertureLightFinderKG::FdApertureLightFinder::REGISTER_MODULE ( "FdApertureLightKG"  ,
FdApertureLightFinder   
)
private
fwk::VModule::ResultFlag FdApertureLightFinder::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 94 of file FdApertureLightFinderKG/FdApertureLightFinder.cc.

References io::eSuccess, fevt::FEvent::EyesBegin(), evt::Event::GetFEvent(), fevt::Eye::GetId(), evt::Event::HasFEvent(), and INFO.

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

Member Data Documentation

int fwk::VModule::fInfoLevel = 0
protectedinherited
double FdApertureLightFinderKG::FdApertureLightFinder::fmaxZetaAngle
private
double FdApertureLightFinderKG::FdApertureLightFinder::fminZetaAngle
private
bool FdApertureLightFinderKG::FdApertureLightFinder::fOnlyUsedForTimeFit
private
double FdApertureLightFinderKG::FdApertureLightFinder::fSafetyMargin
private
std::map<unsigned short, std::vector<ShowerGeometryData> > FdApertureLightFinderKG::FdApertureLightFinder::fShowerGeometryData
private

geometry and trace bin data

Definition at line 127 of file FdApertureLightFinderKG/FdApertureLightFinder.h.

double FdApertureLightFinderKG::FdApertureLightFinder::fstepZetaAngle
private
int FdApertureLightFinderKG::FdApertureLightFinder::fVerbosity = 0
private

XML cards.

Definition at line 113 of file FdApertureLightFinderKG/FdApertureLightFinder.h.


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

, generated on Tue Sep 26 2023.