MarlinTPC  1.2.0
ClockSyncProcessor.h
1 #ifndef CLOCKSYNCPROCESSOR_H
2 #define CLOCKSYNCPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 
8 //MarlinTPC
9 #include "ADCChannelMapping.h"
10 #include "TPCConditionsListener.h"
11 #include "ChannelMappingListener.h"
12 
13 
14 namespace marlintpc
15 {
24 class ClockSyncProcessor : public marlin::Processor
25 {
26 public:
27 
28  virtual Processor* newProcessor() { return new ClockSyncProcessor; }
29 
31 
32  virtual void init();
33 
34  virtual void processRunHeader(EVENT::LCRunHeader* run);
35 
36  virtual void processEvent(EVENT::LCEvent* evt);
37 
38  virtual void check(EVENT::LCEvent* evt);
39 
40  virtual void end();
41 
42 
43 protected:
44  /* the place for protected and private member data and functions */
45  std::string _inputColName;
46  std::string _outputCollectionName;
47  std::string _channelMappingColName;
48  bool _outputHitsPersistent;
49  int _rcuOutOfSync;
50  double _reduceTime;
51  double _delayTime;
52  double _cut;
53  float _driftVelocity;
57 
61 
62  TPCConditionsListener* _tpcConditionsListener;
63  ChannelMappingListener* _channelMappingListener;
64 };
65 } // namespace marlintpc
66 #endif // CLOCKSYNCPROCESSOR_H
std::string _inputColName
Name of the input collection.
Definition: ClockSyncProcessor.h:45
float _driftVelocityOverride
drift velocity in [mm/mu s]
Definition: ClockSyncProcessor.h:56
Helper Class which provides access to the TPC conditions for every event.
Definition: TPCConditionsListener.h:37
Helper Class which provides access to the ADCChannelMappings for every event.
Definition: ChannelMappingListener.h:37
std::string _inputTPCConditionsCollectionName
the name of the collection the TPC conditions are stored with
Definition: ClockSyncProcessor.h:60
This Processor shifts hits of the RCU which is out of sync.
Definition: ClockSyncProcessor.h:24