PAASS
Software suite to Acquire and Analyze Data from Pixie16
LogicProcessor Class Reference

Class to handle logic signals. More...

#include <LogicProcessor.hpp>

Inheritance diagram for LogicProcessor:
Collaboration diagram for LogicProcessor:

Public Member Functions

 LogicProcessor ()
 
 LogicProcessor (int offset, int range, bool doubleStop=false, bool doubleStart=false)
 
virtual void DeclarePlots (void)
 
virtual bool PreProcess (RawEvent &event)
 
virtual bool Process (RawEvent &event)
 
virtual bool LogicStatus (size_t loc) const
 
void SetDoubleStart (const bool &a)
 
void SetDoubleStop (const bool &a)
 
unsigned long StopCount (size_t loc) const
 
unsigned long StartCount (size_t loc) const
 
double TimeOff (size_t loc, double t) const
 
double TimeOn (size_t loc, double t) const
 
- Public Member Functions inherited from EventProcessor
 EventProcessor ()
 
 EventProcessor (int offset, int range, std::string name)
 
virtual ~EventProcessor ()
 
virtual const std::set< std::string > & GetTypes (void) const
 
virtual bool DidProcess (void) const
 
virtual bool HasEvent (void) const
 
virtual bool Init (RawEvent &event)
 
void EndProcess (void)
 
std::string GetName (void) const
 

Protected Attributes

std::vector< double > lastStartTime
 time of last leading edge More...
 
std::vector< double > lastStopTime
 time of last trailing edge More...
 
std::vector< bool > logicStatus
 current level of the logic signal More...
 
std::vector< unsigned long > stopCount
 number of stops received More...
 
std::vector< unsigned long > startCount
 number of starts received More...
 
- Protected Attributes inherited from EventProcessor
std::string name
 Name of the Processor. More...
 
std::set< std::string > associatedTypes
 Set of associated types for Processor. More...
 
bool initDone
 True if the initialization has finished. More...
 
bool didProcess
 True if the process finished. More...
 
std::map< std::string, const DetectorSummary * > sumMap
 Map of associated detector summary. More...
 
Plots histo
 

Private Member Functions

void BasicProcessing (RawEvent &event)
 
void TriggerProcessing (RawEvent &event)
 
bool NiftyGraph (RawEvent &event)
 

Private Attributes

int plotSize
 Size of the plots to make. More...
 
bool doubleStop_
 
bool doubleStart_
 

Additional Inherited Members

- Protected Member Functions inherited from EventProcessor
virtual void plot (int dammId, double val1, double val2=-1, double val3=-1, const char *name="h")
 Implementation of the plot command to interface with the DAMM routines. More...
 
virtual void DeclareHistogram1D (int dammId, int xSize, const char *title)
 Declares a 1D histogram calls the C++ wrapper for DAMM. More...
 
virtual void DeclareHistogram2D (int dammId, int xSize, int ySize, const char *title)
 Declares a 2D histogram calls the C++ wrapper for DAMM. More...
 

Detailed Description

Class to handle logic signals.

Definition at line 13 of file LogicProcessor.hpp.

Constructor & Destructor Documentation

§ LogicProcessor() [1/2]

LogicProcessor::LogicProcessor ( void  )

Default Constructor

Definition at line 61 of file LogicProcessor.cpp.

§ LogicProcessor() [2/2]

LogicProcessor::LogicProcessor ( int  offset,
int  range,
bool  doubleStop = false,
bool  doubleStart = false 
)

Constructor taking histogram offset and range as arguments

Parameters
[in]offset: the offset of the histograms
[in]range: the maximum number of histograms
[in]doubleStop: if we have doubled the stops in the map
[in]doubleStart: if we have doubled the starts in the map

Definition at line 70 of file LogicProcessor.cpp.

Member Function Documentation

§ BasicProcessing()

void LogicProcessor::BasicProcessing ( RawEvent event)
private

Basic Processing of the event

Parameters
[in]event: the even to process

§ DeclarePlots()

void LogicProcessor::DeclarePlots ( void  )
virtual

Declare plots used in the analysis

From Original Logic Processor

From MTC Processor

From BeamLogicProcessor

From TriggerLogicProcessor

Reimplemented from EventProcessor.

Definition at line 83 of file LogicProcessor.cpp.

Here is the call graph for this function:

§ LogicStatus()

virtual bool LogicProcessor::LogicStatus ( size_t  loc) const
inlinevirtual
Returns
The logic status for a given location
Parameters
[in]loc: the location to get the status from

Definition at line 41 of file LogicProcessor.hpp.

Here is the caller graph for this function:

§ NiftyGraph()

bool LogicProcessor::NiftyGraph ( RawEvent event)
private

Prototype for a nifty graph, currently unimplemented

Parameters
[in]event: the raw event for plotting the nifty graph

§ PreProcess()

bool LogicProcessor::PreProcess ( RawEvent event)
virtual

Preprocess the event

Parameters
[in]event: the event to process
Returns
true if the preprocess was successful

< clock in seconds

<Resolution for Logic Plots

<Res. for MTC Plots

Reimplemented from EventProcessor.

Definition at line 117 of file LogicProcessor.cpp.

Here is the call graph for this function:

§ Process()

bool LogicProcessor::Process ( RawEvent event)
virtual

Process the event

Parameters
[in]event: the event to process
Returns
true if processing was successful

Reimplemented from EventProcessor.

Definition at line 289 of file LogicProcessor.cpp.

Here is the call graph for this function:

§ SetDoubleStart()

void LogicProcessor::SetDoubleStart ( const bool &  a)
inline
Parameters
[in]a: true if we have cloned the starts in the map

Definition at line 44 of file LogicProcessor.hpp.

§ SetDoubleStop()

void LogicProcessor::SetDoubleStop ( const bool &  a)
inline
Parameters
[in]a: true if we have cloned the stops in the map

Definition at line 46 of file LogicProcessor.hpp.

§ StartCount()

unsigned long LogicProcessor::StartCount ( size_t  loc) const
inline
Returns
The start count for a given location
Parameters
[in]loc: the location to get the status from

Definition at line 54 of file LogicProcessor.hpp.

Here is the caller graph for this function:

§ StopCount()

unsigned long LogicProcessor::StopCount ( size_t  loc) const
inline
Returns
The stop count for a given location
Parameters
[in]loc: the location to get the count from

Definition at line 50 of file LogicProcessor.hpp.

§ TimeOff()

double LogicProcessor::TimeOff ( size_t  loc,
double  t 
) const
inline
Returns
The time since the last off
Parameters
[in]loc: the location to get the status from
[in]t: the current time to compare with the last one

Definition at line 59 of file LogicProcessor.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ TimeOn()

double LogicProcessor::TimeOn ( size_t  loc,
double  t 
) const
inline
Returns
The time since the last on
Parameters
[in]loc: the location to get the status from
[in]t: the current time to compare with the last one

Definition at line 66 of file LogicProcessor.hpp.

Here is the call graph for this function:

§ TriggerProcessing()

void LogicProcessor::TriggerProcessing ( RawEvent event)
private

Trigger Processing of the event

Parameters
[in]event: the even to process

Field Documentation

§ doubleStart_

bool LogicProcessor::doubleStart_
private

In some experiments the MTC start signal was doubled this flags enable removal of such an events

Definition at line 95 of file LogicProcessor.hpp.

§ doubleStop_

bool LogicProcessor::doubleStop_
private

In some experiments the MTC stop signal was doubled this flags enable removal of such an events

Definition at line 91 of file LogicProcessor.hpp.

§ lastStartTime

std::vector<double> LogicProcessor::lastStartTime
protected

time of last leading edge

Definition at line 71 of file LogicProcessor.hpp.

§ lastStopTime

std::vector<double> LogicProcessor::lastStopTime
protected

time of last trailing edge

Definition at line 72 of file LogicProcessor.hpp.

§ logicStatus

std::vector<bool> LogicProcessor::logicStatus
protected

current level of the logic signal

Definition at line 73 of file LogicProcessor.hpp.

§ plotSize

int LogicProcessor::plotSize
private

Size of the plots to make.

Definition at line 87 of file LogicProcessor.hpp.

§ startCount

std::vector<unsigned long> LogicProcessor::startCount
protected

number of starts received

Definition at line 76 of file LogicProcessor.hpp.

§ stopCount

std::vector<unsigned long> LogicProcessor::stopCount
protected

number of stops received

Definition at line 75 of file LogicProcessor.hpp.


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