DDASToys for NSCLDAQ  6.2-000
TraceViewProcessor.h
Go to the documentation of this file.
1 /*
2  This software is Copyright by the Board of Trustees of Michigan
3  State University (c) Copyright 2017.
4 
5  You may use this software under the terms of the GNU public license
6  (GPL). The terms of this license are described at:
7 
8  http://www.gnu.org/licenses/gpl.txt
9 
10  Authors:
11  Aaron Chester
12  FRIB
13  Michigan State University
14  East Lansing, MI 48824-1321
15 */
16 
22 #ifndef TRACEVIEWPROCESSOR_H
23 #define TRACEVIEWPROCESSOR_H
24 
25 #include <CRingItemProcessor.h>
26 
27 #include <vector>
28 
29 class CRingScalerItem;
30 class CRingStateChangeItem;
31 class CRingTextItem;
32 class CPhysicsEventItem;
33 class CRingPhysicsEventCountItem;
34 class CDataFormatItem;
35 class CGlomParameters;
36 class CRingItem;
37 
38 namespace ddastoys {
39  class DDASFitHit;
40  class DDASFitHitUnpacker;
41 }
42 
57 {
58 public:
62  virtual ~TraceViewProcessor();
63 
64  // Implemented item types:
65 
70  virtual void processEvent(CPhysicsEventItem& item);
71 
72  // Ignored item types:
73 
75  virtual void processScalerItem(CRingScalerItem&) { return; };
77  virtual void processTextItem(CRingTextItem&) { return; };
79  virtual void processEventCount(CRingPhysicsEventCountItem&) { return; };
81  virtual void processGlomParams(CGlomParameters&) { return; };
82 
87  std::vector<ddastoys::DDASFitHit> getUnpackedHits() {return m_hits;};
88 
89 private:
90  ddastoys::DDASFitHitUnpacker* m_pUnpacker;
91  std::vector<ddastoys::DDASFitHit> m_hits;
92 };
93 
94 #endif
Defines an abstract base class for ring item processing.
Abstract base class to support type-independent ring-item processing.
Definition: CRingItemProcessor.h:48
A basic ring item processor.
Definition: TraceViewProcessor.h:57
TraceViewProcessor()
Constructor.
Definition: TraceViewProcessor.cpp:44
std::vector< ddastoys::DDASFitHit > getUnpackedHits()
Return the unpacked event data.
Definition: TraceViewProcessor.h:87
virtual ~TraceViewProcessor()
Destructor.
Definition: TraceViewProcessor.cpp:54
virtual void processTextItem(CRingTextItem &)
Text ring items are ignored.
Definition: TraceViewProcessor.h:77
virtual void processGlomParams(CGlomParameters &)
GlomParameters ring items are ignored.
Definition: TraceViewProcessor.h:81
virtual void processEvent(CPhysicsEventItem &item)
Process physics events.
Definition: TraceViewProcessor.cpp:66
virtual void processEventCount(CRingPhysicsEventCountItem &)
PhysicsEventCount ring items are ignored.
Definition: TraceViewProcessor.h:79
virtual void processScalerItem(CRingScalerItem &)
Scaler ring items are ignored.
Definition: TraceViewProcessor.h:75
Unpack raw hit data from DDAS event files.
Definition: DDASFitHitUnpacker.h:62