Pixie16 Analysis Software Suite
Analysis code for processing of .ldf files
PositionProcessor.hpp
Go to the documentation of this file.
1 
5 #ifndef __POSITIONPROCESSOR_HPP__
6 #define __POSITIONPROCESSOR_HPP__
7 
8 #include <string>
9 #include <vector>
10 
11 #include "EventProcessor.hpp"
12 #include "RawEvent.hpp"
13 
14 class ChanEvent;
15 
18 private:
19  static const int numQdcs = 8;
20  static const int matchingTimeCut = 5;
21 
22  float qdcLen[numQdcs];
23  float qdcPos[numQdcs];
24  float totLen;
25  int whichQdc;
26  static const int maxNumLocations = 12;
28  float posScale;
29  std::vector<float> minNormQdc;
30  std::vector<float> maxNormQdc;
31 
38  std::vector<ChanEvent*>::const_iterator begin,
39  std::vector<ChanEvent*>::const_iterator end) const;
46  std::vector<ChanEvent*>::const_reverse_iterator begin,
47  std::vector<ChanEvent*>::const_reverse_iterator end) const;
48 public:
49  PositionProcessor(); // no virtual c'tors
62  virtual bool Init(RawEvent& rawev);
70  virtual bool Process(RawEvent &event);
72  virtual void DeclarePlots(void);
73 };
74 
75 #endif // __POSITIONPROCESSOR_HPP_
A channel event.
Definition: ChanEvent.hpp:23
std::vector< float > minNormQdc
the minimum normalized qdc observed for a location
Definition: PositionProcessor.hpp:29
static const int matchingTimeCut
maximum difference between edge and sum timestamps
Definition: PositionProcessor.hpp:20
Generic event processor.
Processor to calculate the position in SSDs.
Definition: PositionProcessor.hpp:17
float posScale
an arbitrary scale for the position parameter to physical units
Definition: PositionProcessor.hpp:28
virtual void DeclarePlots(void)
virtual bool Process(RawEvent &event)
Process the QDC data involved in top/bottom side for a strip.
float totLen
calculated length of all qdcs excluding baseline qdc
Definition: PositionProcessor.hpp:24
static const int numQdcs
number of QDCs to compute
Definition: PositionProcessor.hpp:19
ChanEvent * FindMatchingEdge(ChanEvent *match, std::vector< ChanEvent * >::const_iterator begin, std::vector< ChanEvent * >::const_iterator end) const
float qdcPos[numQdcs]
the ending sample number for each QDC position
Definition: PositionProcessor.hpp:23
static const int maxNumLocations
maximum number of locations
Definition: PositionProcessor.hpp:26
std::vector< float > maxNormQdc
the maximum normalized qdc observed for a location
Definition: PositionProcessor.hpp:30
int whichQdc
which qdc we are using for position determinatio
Definition: PositionProcessor.hpp:25
Class to handle event processing.
Definition: EventProcessor.hpp:25
int numLocations
number of locations in the processor
Definition: PositionProcessor.hpp:27
float qdcLen[numQdcs]
the length of each qdc in pixie samples
Definition: PositionProcessor.hpp:22
The all important raw event.
Definition: RawEvent.hpp:46
Header file for the rawevent.
virtual bool Init(RawEvent &rawev)
Reads in QDC parameters from an input file.