Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
LitePositionProcessor.hpp
Go to the documentation of this file.
1 
6 #ifndef __LITEPOSITIONPROCESSOR_HPP_
7 #define __LITEPOSITIONPROCESSOR_HPP_
8 
9 #include <string>
10 #include <vector>
11 
12 #include "EventProcessor.hpp"
13 
14 class ChanEvent;
15 
18 public:
26  virtual bool Init(RawEvent &event);
30  virtual bool Process(RawEvent &event);
32  virtual void DeclarePlots(void);
33 protected:
34  static const std::string configFile;
35  static const int numQdcs = 8;
36 
37  float qdcLen[numQdcs];
38  float qdcPos[numQdcs];
39  float totLen;
40  int whichQdc;
42  float posScale;
43  std::vector<float> minNormQdc;
44  std::vector<float> maxNormQdc;
45 
52  std::vector<ChanEvent*>::const_iterator begin,
53  std::vector<ChanEvent*>::const_iterator end) const;
54 };
55 
56 #endif // __LITEPOSITIONPROCESSOR_HPP_
float qdcLen[numQdcs]
the length of each qdc in pixie samples
Definition: LitePositionProcessor.hpp:37
A channel event.
Definition: ChanEvent.hpp:23
Version of PositionProcessor that is light weight.
Definition: LitePositionProcessor.hpp:17
static const int numQdcs
Number of QDCs to calculate.
Definition: LitePositionProcessor.hpp:35
int numLocations
The number of locations.
Definition: LitePositionProcessor.hpp:41
virtual bool Init(RawEvent &event)
float posScale
an arbitrary scale for the position parameter to physical units
Definition: LitePositionProcessor.hpp:42
Generic event processor.
~LitePositionProcessor()
Definition: LitePositionProcessor.hpp:22
int whichQdc
which qdc we are using for position determination
Definition: LitePositionProcessor.hpp:40
std::vector< float > maxNormQdc
the maximum normalized qdc observed for a location
Definition: LitePositionProcessor.hpp:44
ChanEvent * FindMatchingEdge(ChanEvent *match, std::vector< ChanEvent * >::const_iterator begin, std::vector< ChanEvent * >::const_iterator end) const
static const std::string configFile
Configuration file name.
Definition: LitePositionProcessor.hpp:34
std::vector< float > minNormQdc
the minimum normalized qdc observed for a location
Definition: LitePositionProcessor.hpp:43
virtual bool Process(RawEvent &event)
float qdcPos[numQdcs]
the ending sample number for each QDC position
Definition: LitePositionProcessor.hpp:38
Class to handle event processing.
Definition: EventProcessor.hpp:25
The all important raw event.
Definition: RawEvent.hpp:46
virtual void DeclarePlots(void)
float totLen
calculated length of all qdcs excluding baseline qdc
Definition: LitePositionProcessor.hpp:39