MarlinTPC  1.2.0
DrawMagneticFieldProcessor.h
1 #ifndef DRAWMAGNETICFIELDPROCESSOR_H
2 #define DRAWMAGNETICFIELDPROCESSOR_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 #include <vector>
8 #include "TGraph2D.h"
9 
10 
11 namespace marlintpc
12 {
13 /*
14  * This processor draws plots of the Br and Bz components of the active magnetic fields.
15  * It is meant as an example to the usage of magnetic fields in MarlinTPC.
16  *
17  * @author Christian Grefe
18  */
19 class DrawMagneticFieldProcessor : public marlin::Processor
20 {
21  public:
22 
23  virtual Processor* newProcessor() { return new DrawMagneticFieldProcessor; }
24 
26 
27  virtual void init();
28 
29  virtual void processEvent(lcio::LCEvent* evt);
30 
31 
32  protected:
33  bool _draw;
34  double _xMin;
35  double _xMax;
36  double _zMin;
37  double _zMax;
38  int _xBins;
39  int _zBins;
40 
41  private:
42  void styleHist(TGraph2D* g, std::string title, std::string xTitle, std::string yTitle, std::string zTitle);
43 
44 };
45 } // namespace marlintpc
46 #endif // DRAWMAGNETICFIELDPROCESSOR_H
Definition: DrawMagneticFieldProcessor.h:19