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

#include <FdPulseFinder.h>

Inheritance diagram for FdPulseFinderOG::FdPulseFinder:
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

fwk::VModule::ResultFlag Finish () override
 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 () override
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 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 Member Functions

bool FindAdditionalPulse (fevt::Pixel &pixel, const fevt::Eye &eye, const evt::ShowerFRecData &frec) const
 
bool FindBestSignalOverNoise (fevt::Pixel &pixel, const int start, const int stop) const
 
bool FindPulse (fevt::Pixel &pixel)
 true if pulse is found More...
 
 REGISTER_MODULE ("FdPulseFinderOG", FdPulseFinder)
 

Private Attributes

int fCountBoundsErr = 0
 
int fCountFlt = 0
 
int fCountNoRecData = 0
 
int fCountNoTrigData = 0
 
int fCountPix = 0
 
int fCountPulsed = 0
 
int fMaxWindowLength = 0
 maximum width of signal assumed to search fluo pulses More...
 
int fMaxWindowLengthTime = 0
 
double fMinSnRatio = 0
 minimum S/N Ratio to define a pulse More...
 
int fMinWindowLength = 0
 minimum width of signal assumed to search fluo pulses More...
 
int fMinWindowLengthTime = 0
 
unsigned int fOffset = 0
 offset from trigger used to search for pulses More...
 
unsigned int fOffsetTime = 0
 
bool fuseAllPixels = false
 use also non FLT pixels More...
 
int fVerbosity = 0
 output control More...
 

Detailed Description

Author
Stefano Argiro', Fabian Schuessler
Date
03 August 2006

Definition at line 28 of file FdPulseFinder.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.

Member Function Documentation

bool FdPulseFinder::FindAdditionalPulse ( fevt::Pixel pixel,
const fevt::Eye eye,
const evt::ShowerFRecData frec 
) const
private
bool FdPulseFinder::FindBestSignalOverNoise ( fevt::Pixel pixel,
const int  start,
const int  stop 
) const
private
bool FdPulseFinder::FindPulse ( fevt::Pixel pixel)
private

true if pulse is found

/brief Locate Fluorescence Pulse in pixel (FS, 2006/05/05): If full FLT information is available, the FLT triggered section containing the 'biggest' signal (section integral) is searched. In this section the bin with the highest signal is located and the pulse is searched between (maxSignalBin-fOffset) and (maxSignalBin+fOffset).

(FS, 2006/09/08): The additional time added to the triggered section by the FLT (default: 20 microseconds) is subtracted if the minimal section length in the pixel exceeds this additional time. If triggered sections with shorter lengths are found in the pixel (as in some 2004 data), the biggest triggered section is taken as a whole, but the Offset to search for the pulse is extended by the additional FLT time in order to search the whole section for a pulse. RU 2007/02/20: The latter section refers to SLT trigger info only. The FLT per pixel data does not account for any FLT prolongation and really reflects the triggered time bins

If FLT information not available: Given t_trig the time of the first FLT, the search takes place between (t_trig - offset) and (t_trig + offset).

Common part: The window [pulseStart,pulseStop] that maximizes S/N is searched The window can have minimum length of fMinWindowLength and maximum of fMaxWindowLength

Definition at line 254 of file FdPulseFinder.cc.

References ERROR, utl::Trace< T >::GetBinning(), fdet::Telescope::GetCamera(), fdet::Pixel::GetChannelId(), fdet::FDetector::GetEye(), fdet::Pixel::GetEyeId(), fevt::PixelRecData::GetFirstTriggeredTimeBin(), fdet::Camera::GetFLTBoxcarSumLength(), fevt::PixelTriggerData::GetFLTTrace(), fevt::Pixel::GetId(), fevt::PixelRecData::GetPhotonTrace(), fdet::FDetector::GetPixel(), fevt::Pixel::GetRecData(), utl::Trace< T >::GetSize(), utl::Trace< T >::GetStart(), utl::Trace< T >::GetStop(), fdet::Eye::GetTelescope(), fdet::Pixel::GetTelescopeId(), fevt::Pixel::GetTriggerData(), fevt::Pixel::HasRecData(), fevt::Pixel::HasTriggerData(), INFO, and ns.

VModule::ResultFlag FdPulseFinder::Finish ( )
overridevirtual

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 225 of file FdPulseFinder.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 FdPulseFinder::Init ( )
overridevirtual

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 FdPulseFinder.cc.

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

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

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

FdPulseFinderOG::FdPulseFinder::REGISTER_MODULE ( "FdPulseFinderOG"  ,
FdPulseFinder   
)
private
VModule::ResultFlag FdPulseFinder::Run ( evt::Event event)
overridevirtual
ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited

Member Data Documentation

int FdPulseFinderOG::FdPulseFinder::fCountBoundsErr = 0
mutableprivate

Definition at line 68 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fCountFlt = 0
mutableprivate

Definition at line 64 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fCountNoRecData = 0
mutableprivate

Definition at line 66 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fCountNoTrigData = 0
mutableprivate

Definition at line 67 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fCountPix = 0
mutableprivate

Definition at line 63 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fCountPulsed = 0
mutableprivate

Definition at line 65 of file FdPulseFinder.h.

int fwk::VModule::fInfoLevel = 0
protectedinherited
int FdPulseFinderOG::FdPulseFinder::fMaxWindowLength = 0
private

maximum width of signal assumed to search fluo pulses

Definition at line 59 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fMaxWindowLengthTime = 0
private

Definition at line 60 of file FdPulseFinder.h.

double FdPulseFinderOG::FdPulseFinder::fMinSnRatio = 0
private

minimum S/N Ratio to define a pulse

Definition at line 48 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fMinWindowLength = 0
private

minimum width of signal assumed to search fluo pulses

Definition at line 55 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fMinWindowLengthTime = 0
private

Definition at line 56 of file FdPulseFinder.h.

unsigned int FdPulseFinderOG::FdPulseFinder::fOffset = 0
private

offset from trigger used to search for pulses

Definition at line 51 of file FdPulseFinder.h.

unsigned int FdPulseFinderOG::FdPulseFinder::fOffsetTime = 0
private

Definition at line 52 of file FdPulseFinder.h.

bool FdPulseFinderOG::FdPulseFinder::fuseAllPixels = false
private

use also non FLT pixels

Definition at line 45 of file FdPulseFinder.h.

int FdPulseFinderOG::FdPulseFinder::fVerbosity = 0
private

output control

Definition at line 42 of file FdPulseFinder.h.


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

, generated on Tue Sep 26 2023.