MarlinTPC  1.2.0
RawDataCutterProcessor.h
1 /*
2  * RawDataCutterProcessor.h
3  *
4  * Created on: Oct 13, 2011
5  * Author: caiazza
6  */
7 
8 #ifndef RAWDATACUTTERPROCESSOR_H_
9 #define RAWDATACUTTERPROCESSOR_H_
10 //MARLINTPC includes
11 #include "TPCConditionsListener.h"
12 #include "ADCElectronicsListener.h"
13 
14 //MARLIN includes
15 #include "marlin/Processor.h"
16 
17 //LCIO includes
18 #include "lcio.h"
19 
20 //LCCD Includes
21 #include "lccd.h"
22 
23 //standard includes
24 #include <string>
25 
26 
27 namespace marlintpc
28 {
29 
60 class RawDataCutterProcessor : public marlin::Processor
61 {
62 
63 public:
64 
65  virtual Processor*
66  newProcessor()
67  {
68  return new RawDataCutterProcessor;
69  }
70 
72 
76  virtual void
77  init();
78 
81  virtual void
82  processRunHeader(lcio::LCRunHeader* run);
83 
86  virtual void
87  processEvent(lcio::LCEvent * evt);
88 
89  virtual void
90  check(lcio::LCEvent * evt);
91 
94  virtual void
95  end();
96 
97 protected:
98 
102  std::string _inputcolName;
103 
107  std::string _outcolName;
108 
113 
119 
128 
133 
138 
143 
148 
154 
160 
165 
166 private:
167  int _nRun;
168  int _nEvt;
169 
170  TPCConditionsListener* _TPCConditionsListener;
171  ADCElectronicsListener* _ADCElectronicsListener;
172 
173 }; //End class definition
174 } //End Namespace definition
175 #endif /* RAWDATACUTTERPROCESSOR_H_ */
virtual void end()
Called after data processing for clean up.
Definition: RawDataCutterProcessor.cc:357
float _driftVelocity
Electron drift velocity (mm/us) used to compute the maximum time necessary to drift through the TPC...
Definition: RawDataCutterProcessor.h:132
float _driftLength
Maximum TPC drift length (mm).
Definition: RawDataCutterProcessor.h:137
bool _shortenPulse
Boolean selector that specifies whether to shorten the pulses started before the filter time but cont...
Definition: RawDataCutterProcessor.h:164
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: RawDataCutterProcessor.cc:198
int _maxTimeBin
Maximum time value allowed in the tracker raw data.
Definition: RawDataCutterProcessor.h:118
Helper Class which provides access to the parameters of ADC Electroncis.
Definition: ADCElectronicsListener.h:39
int _endOffset
Safety Offset to be added at the Maximum drift time calculated.
Definition: RawDataCutterProcessor.h:147
bool _outputIsPersistent
Set the persistency flag of the output collection.
Definition: RawDataCutterProcessor.h:112
int _startOffset
Number of time bins at the start of the collection window which would correspond to data collected at...
Definition: RawDataCutterProcessor.h:127
This processor is used to select in the raw data only a part of the time spectrum, in fact shortening the time window of the data acquired.
Definition: RawDataCutterProcessor.h:60
std::string _outcolName
Output collection name.
Definition: RawDataCutterProcessor.h:107
Helper Class which provides access to the TPC conditions for every event.
Definition: TPCConditionsListener.h:37
std::string _ADCElectronicsCollName
Name of the collection containing the GenericADCElectronicsParameters i.e.
Definition: RawDataCutterProcessor.h:159
virtual void init()
Called at the begin of the job before anything is read.
Definition: RawDataCutterProcessor.cc:105
std::string _inputcolName
Input collection name.
Definition: RawDataCutterProcessor.h:102
std::string _TPCConditionsCollName
Name of the collection containing the TPC Conditions i.e.
Definition: RawDataCutterProcessor.h:153
float _readoutFreq
Readout frequency of the electronics (MHz)
Definition: RawDataCutterProcessor.h:142
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: RawDataCutterProcessor.cc:182