MarlinTPC  1.2.0
RowCutApplicationProcessor.h
1 #ifndef ROWCUTAPPLICATIONPROCESSOR_H
2 #define ROWCUTAPPLICATIONPROCESSOR_H
3 
4 // C++
5 #include <string>
6 #include <set>
7 
8 // LCIO
9 #include "lcio.h"
10 
11 // Marlin
12 #include "marlin/Processor.h"
13 #include "marlin/EventModifier.h"
14 
15 namespace marlintpc
16 {
17 
44 class RowCutApplicationProcessor : public marlin::Processor
45 {
46 
47 public:
48 
52  virtual Processor*
54  {
55  return new RowCutApplicationProcessor;
56  }
57 
63 
67  virtual void
68  init();
69 
73  virtual void
74  processRunHeader(lcio::LCRunHeader* run);
75 
79  virtual void
80  processEvent(lcio::LCEvent * evt);
81 
82 
86  virtual const std::string &
87  name() const {return Processor::name();}
88 
89 protected:
90 
91  std::string _inputColName;
92  std::string _outputColName;
93 
95 
96  IntVec _rows2skip;
97 
98  bool _isSubset;
99  bool _flaggingON;
100 
101  std::set<std::pair<int,int> > _skipList;
102  static const std::pair<int, int> ALLROWS;
103 
104 };
105 
106 }
107 
108 #endif
virtual void init()
Variable initialization.
Definition: RowCutApplicationProcessor.cc:87
virtual Processor * newProcessor()
Creates and register a new processor of type RowCutApplicationProcessor.
Definition: RowCutApplicationProcessor.h:53
std::set< std::pair< int, int > > _skipList
The list of the rows to skip.
Definition: RowCutApplicationProcessor.h:101
virtual void processRunHeader(lcio::LCRunHeader *run)
Method to modify the RunHeader of the LCIO file.
Definition: RowCutApplicationProcessor.cc:113
bool _isSubset
If true the output collection will be stored as a subset of the input containing only the "good" hits...
Definition: RowCutApplicationProcessor.h:98
bool _flaggingON
If true, hits in rows marked for removal will be flagged in the input collection modifying the input ...
Definition: RowCutApplicationProcessor.h:99
std::string _inputColName
the name of the input collection
Definition: RowCutApplicationProcessor.h:91
Definition: RowCutApplicationProcessor.h:44
static const std::pair< int, int > ALLROWS
The pair that identifies the default value of the SkipRow parameter and the special combination meani...
Definition: RowCutApplicationProcessor.h:102
bool _outputIsTransient
if this flag is true the output will not be written to file
Definition: RowCutApplicationProcessor.h:94
std::string _outputColName
the name of the output collection
Definition: RowCutApplicationProcessor.h:92
RowCutApplicationProcessor()
Default constructor Used to create objects and register the processor parameters. ...
Definition: RowCutApplicationProcessor.cc:35
virtual const std::string & name() const
Definition: RowCutApplicationProcessor.h:87
IntVec _rows2skip
Vector of rows to skip.
Definition: RowCutApplicationProcessor.h:96
virtual void processEvent(lcio::LCEvent *evt)
All the processing is done here.
Definition: RowCutApplicationProcessor.cc:127