MarlinTPC  1.2.0
TestFieldSettingProcessor.h
1 #ifndef TESTFIELDSETTINGPROCESSOR_H
2 #define TESTFIELDSETTINGPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 
8 // MARLINTPC
9 #include "FieldSettingListener.h"
10 #include "FieldSetting.h"
11 
12 namespace AIDA
13 {
14  class IHistogram1D;
15  class ITuple;
16 }
17 
18 namespace marlintpc {
38 class TestFieldSettingProcessor: public marlin::Processor {
39 public:
40 
41  virtual Processor* newProcessor() {
42  return new TestFieldSettingProcessor;
43  }
44 
46 
47  virtual void init();
48 
49  virtual void processRunHeader(lcio::LCRunHeader* run);
50 
51  virtual void processEvent(lcio::LCEvent* evt);
52 
53  virtual void check(lcio::LCEvent* evt);
54 
55  virtual void end();
56 
57 protected:
58  std::string _inputColNameRawData;
59  std::string _inputColNamePules;
60  std::string _inputFieldSettingCollectionName;
61 
62 private:
63 
64  FieldSettingListener* _fieldSettingListener;
65  AIDA::ITuple *_fieldData;
66  AIDA::ITuple *_driftVelocity;
67  AIDA::IHistogram1D *_tmpPulseTime;
68  tpcconddata::FieldSetting* _currentSettings;
69  double _driftLength;
70  double _maxDriftLength;
71  double _startTime;
72  double _endTime;
73  double _lastDriftField;
74  double _pulseCharge;
75 };
76 } // namespace marlintpc
77 #endif // TESTFIELDSETTINGPROCESSOR_H
Processor to test the field setting listener.
Definition: TestFieldSettingProcessor.h:38
Helper Class which provides access to the field settings for every event.
Definition: FieldSettingListener.h:37
std::string _inputColNameRawData
Name of the raw data input collection.
Definition: TestFieldSettingProcessor.h:58
class to store the field setting of a TPC with GEM-based amplification system
Definition: FieldSetting.h:19
std::string _inputColNamePules
Name of the pulse data input collection.
Definition: TestFieldSettingProcessor.h:59