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

Version of PositionProcessor that is light weight. More...

#include <LitePositionProcessor.hpp>

Inheritance diagram for LitePositionProcessor:
Collaboration diagram for LitePositionProcessor:

Public Member Functions

 LitePositionProcessor ()
 
 ~LitePositionProcessor ()
 
virtual bool Init (RawEvent &event)
 
virtual bool Process (RawEvent &event)
 
virtual void DeclarePlots (void)
 
- 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 PreProcess (RawEvent &event)
 
void EndProcess (void)
 
std::string GetName (void) const
 

Protected Member Functions

ChanEventFindMatchingEdge (ChanEvent *match, std::vector< ChanEvent *>::const_iterator begin, std::vector< ChanEvent *>::const_iterator end) const
 
- 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...
 

Protected Attributes

float qdcLen [numQdcs]
 the length of each qdc in pixie samples More...
 
float qdcPos [numQdcs]
 the ending sample number for each QDC position More...
 
float totLen
 calculated length of all qdcs excluding baseline qdc More...
 
int whichQdc
 which qdc we are using for position determination More...
 
int numLocations
 The number of locations. More...
 
float posScale
 an arbitrary scale for the position parameter to physical units More...
 
std::vector< float > minNormQdc
 the minimum normalized qdc observed for a location More...
 
std::vector< float > maxNormQdc
 the maximum normalized qdc observed for a location 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
 

Static Protected Attributes

static const std::string configFile
 Configuration file name. More...
 
static const int numQdcs = 8
 Number of QDCs to calculate. More...
 

Detailed Description

Version of PositionProcessor that is light weight.

Definition at line 17 of file LitePositionProcessor.hpp.

Constructor & Destructor Documentation

§ LitePositionProcessor()

LitePositionProcessor::LitePositionProcessor ( )

Default Constructor

§ ~LitePositionProcessor()

LitePositionProcessor::~LitePositionProcessor ( )
inline

Default Destructor

Definition at line 22 of file LitePositionProcessor.hpp.

Here is the call graph for this function:

Member Function Documentation

§ DeclarePlots()

void LitePositionProcessor::DeclarePlots ( void  )
virtual

Declare plots for processor

Declare all the plots we plan on using (part of dammIds::qdc namespace)

Reimplemented from EventProcessor.

Definition at line 138 of file LitePositionProcessor.cpp.

Here is the caller graph for this function:

§ FindMatchingEdge()

ChanEvent * LitePositionProcessor::FindMatchingEdge ( ChanEvent match,
std::vector< ChanEvent *>::const_iterator  begin,
std::vector< ChanEvent *>::const_iterator  end 
) const
protected

Find the matching edge of the SSD

Parameters
[in]match: the matching edge
[in]begin: an iterator to the beginning of the event
[in]end: an iterator to the end of the event
Returns
a pointer to the matching ChanEvent

Definition at line 371 of file LitePositionProcessor.cpp.

Here is the call graph for this function:

§ Init()

bool LitePositionProcessor::Init ( RawEvent event)
virtual

Initialize the processor

Parameters
[in]event: the event to use for init
Returns
true if init was successful

Reads in QDC parameters from an input file The file format allows comment lines at the beginning Followed by QDC lengths Which QDC to use for position calculation followed by the amount to scale the [0,1] result by to physical units And min and max values of the normalized QDC for each location in form: [location] [min] [max] Note that QDC 0 is considered to be a baseline section of the trace for baseline removal for the other QDCs

Reimplemented from EventProcessor.

Definition at line 57 of file LitePositionProcessor.cpp.

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

§ Process()

bool LitePositionProcessor::Process ( RawEvent event)
virtual

Process an event

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

Process the QDC data involved in top/bottom side for a strip Note QDC lengths are HARD-CODED at the moment for the plots and to determine the position

Reimplemented from EventProcessor.

Definition at line 205 of file LitePositionProcessor.cpp.

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

Field Documentation

§ configFile

const std::string LitePositionProcessor::configFile
staticprotected

Configuration file name.

Definition at line 34 of file LitePositionProcessor.hpp.

§ maxNormQdc

std::vector<float> LitePositionProcessor::maxNormQdc
protected

the maximum normalized qdc observed for a location

Definition at line 44 of file LitePositionProcessor.hpp.

§ minNormQdc

std::vector<float> LitePositionProcessor::minNormQdc
protected

the minimum normalized qdc observed for a location

Definition at line 43 of file LitePositionProcessor.hpp.

§ numLocations

int LitePositionProcessor::numLocations
protected

The number of locations.

Definition at line 41 of file LitePositionProcessor.hpp.

§ numQdcs

const int LitePositionProcessor::numQdcs = 8
staticprotected

Number of QDCs to calculate.

Definition at line 35 of file LitePositionProcessor.hpp.

§ posScale

float LitePositionProcessor::posScale
protected

an arbitrary scale for the position parameter to physical units

Definition at line 42 of file LitePositionProcessor.hpp.

§ qdcLen

float LitePositionProcessor::qdcLen[numQdcs]
protected

the length of each qdc in pixie samples

Definition at line 37 of file LitePositionProcessor.hpp.

§ qdcPos

float LitePositionProcessor::qdcPos[numQdcs]
protected

the ending sample number for each QDC position

Definition at line 38 of file LitePositionProcessor.hpp.

§ totLen

float LitePositionProcessor::totLen
protected

calculated length of all qdcs excluding baseline qdc

Definition at line 39 of file LitePositionProcessor.hpp.

§ whichQdc

int LitePositionProcessor::whichQdc
protected

which qdc we are using for position determination

Definition at line 40 of file LitePositionProcessor.hpp.


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