MarlinTPC  1.2.0
HepRepOutputProcessor.h
1 #ifndef HEP_REP_OUTPUT_PROCESSOR_H
2 #define HEP_REP_OUTPUT_PROCESSOR_H 1
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 
41 class HepRepOutputProcessor : public marlin::Processor
42 {
43 
44  public:
45 
48 
49 
52 
53 
55  Processor * newProcessor();
56 
57 
59  void init();
60 
61 
63  void processRunHeader (lcio::LCRunHeader *run);
64 
65 
68  virtual void processEvent (lcio::LCEvent *evt);
69 
70 
73  virtual void check (lcio::LCEvent *evt);
74 
75 
78  virtual void end();
79 
80  private:
81 
82  enum ColorScheme
83  {
84  RAINBOW = 0,
85  REDBLUE = 1,
86  TOPOGRAPHIC = 2,
87  GREYSCALE = 3,
88  REDBLUESCALE = 4,
89  COLORBRIGHTNESS = 5,
90  COLORWHITE = 6
91  };
92 
93  int _pulseColorScheme;
94 
95  std::vector<std::string> _namesOfSimTrackerHitCollections;
96  std::vector<std::string> _namesOfTrackerDataCollections;
97  std::vector<std::string> _namesOfTrackerHitCollections;
98  std::vector<std::string> _namesOfTrackerPulseCollections;
99  std::vector<std::string> _namesOfTrackCollections;
100  std::string _nameOfOutputFile;
101 
102  virtual void drawHepRepPad (int moduleID, int padIndex);
103  virtual void setHepRepPadColor (double padCharge, float minCharge, float maxCharge, int colorScheme, int pulseQuality);
104 
105  // the HepRepXML writer
106  HepRepXMLWriter _hepRepWriter;
107 
109  std::vector<int> _eventsToDisplay;
110 
111  bool _drawPadPlane;
112 };
113 
114 #endif // HEP_REP_OUTPUT_PROCESSOR_H
115 
116 
117 
Definition: HepRepXMLWriter.h:25
void processRunHeader(lcio::LCRunHeader *run)
RunHeader processing. Revision and parameter logging.
Definition: HepRepOutputProcessor.cc:361
Processor * newProcessor()
Return a new instance of this processor.
Definition: HepRepOutputProcessor.cc:757
virtual void end()
Called after data processing for clean up in the inverse order of the init() method so that resources...
Definition: HepRepOutputProcessor.cc:771
HepRepOutputProcessor()
The constructor. Parameters will be registered here.
Definition: HepRepOutputProcessor.cc:45
~HepRepOutputProcessor()
The Destructor.
Definition: HepRepOutputProcessor.cc:101
HepRepOutputProcessor: This processor generates a HepRep Output file for a HepRep based event display...
Definition: HepRepOutputProcessor.h:41
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: HepRepOutputProcessor.cc:387
virtual void check(lcio::LCEvent *evt)
Called for every event - right after processEvent() has been called for all processors.
Definition: HepRepOutputProcessor.cc:764
void init()
Processor initialisation. GEAR Geometry is drawn here.
Definition: HepRepOutputProcessor.cc:108