MarlinTPC  1.2.0
PerPadPulseChargeHistogrammerProcessor.h
1 #ifndef PER_PAD_PULSE_CHARGE_PROCESSOR_H
2 #define PER_PAD_PULSE_CHARGE_PROCESSOR_H 1
3 
4 //LCIO
5 #include <lcio.h>
6 
7 //MARLIN
8 #include "marlin/Processor.h"
9 
10 namespace AIDA
11 {
12  class IHistogram1D;
13 }
14 
15 
16 
17 namespace marlintpc
18 {
37  class PerPadPulseChargeHistogrammerProcessor : public marlin::Processor
38  {
39 
40  public:
41 
42  virtual Processor* newProcessor()
43  {
45  }
46 
49 
52 
54  virtual void init();
55 
57  virtual void processRunHeader(lcio::LCRunHeader* run);
58 
60  virtual void processEvent(lcio::LCEvent * evt);
61 
62  protected:
63 
64  std::string _pulsesColName;
65 
66  std::vector<AIDA::IHistogram1D *> _chargePerPadHistos;
67 
68  int _nBins;
69  int _nChannels;
70  float _maxCharge;
71  float _minCharge;
72  };
73 }// namespace
74 
75 #endif
~PerPadPulseChargeHistogrammerProcessor()
The Destructor.
Definition: PerPadPulseChargeHistogrammerProcessor.cc:67
virtual void init()
Processor initialisation. Histograms are prepared here.
Definition: PerPadPulseChargeHistogrammerProcessor.cc:73
int _nChannels
Number of channels. It corresponds to the number of generated histograms.
Definition: PerPadPulseChargeHistogrammerProcessor.h:69
PerPadPulseChargeHistogrammerProcessor()
The constructor. Parameters will be registered here.
Definition: PerPadPulseChargeHistogrammerProcessor.cc:33
std::vector< AIDA::IHistogram1D * > _chargePerPadHistos
Vector of histograms of pulse-charges.
Definition: PerPadPulseChargeHistogrammerProcessor.h:66
float _maxCharge
Maximum charge in histogram.
Definition: PerPadPulseChargeHistogrammerProcessor.h:70
std::string _pulsesColName
The name of the input collection of TrackerPulses.
Definition: PerPadPulseChargeHistogrammerProcessor.h:64
float _minCharge
Minimum charge in histogram.
Definition: PerPadPulseChargeHistogrammerProcessor.h:71
virtual void processEvent(lcio::LCEvent *evt)
Event processing. The working horse, histograms are filled here.
Definition: PerPadPulseChargeHistogrammerProcessor.cc:129
int _nBins
Number of bins.
Definition: PerPadPulseChargeHistogrammerProcessor.h:68
Fill charge per pulse into AIDA histograms for each channel.
Definition: PerPadPulseChargeHistogrammerProcessor.h:37
virtual void processRunHeader(lcio::LCRunHeader *run)
RunHeader processing. Revision and parameter logging.
Definition: PerPadPulseChargeHistogrammerProcessor.cc:112