MEGeom

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#ifndef CalibCalorimetry_EcalLaserAnalyzer_MEGeom_h
#define CalibCalorimetry_EcalLaserAnalyzer_MEGeom_h

//
// Authors  : Gautier Hamel de Monchenault and Julie Malcles, Saclay
//
#include <vector>

#include "MEEBGeom.h"
#include "MEEEGeom.h"

#include "TH2.h"
#include "TCanvas.h"
#include "TGraph.h"

class MEChannel;

class MEGeom {
  // static functions
public:
  // histograms and boundaries
  static TH2* getHist(int ilmr, int unit);

  static TGraph* getBoundary(int ilmr, int unit);
  static void drawHist(int ilmr, int unit, TCanvas* canv = nullptr);

  // global 2D histogram
  static TH2* getGlobalHist(const char* name = nullptr);
  static void setBinGlobalHist(TH2* h, int ix, int iy, int iz, float val);
  static void drawGlobalBoundaries(int lineColor);

  virtual ~MEGeom() {}

private:
  static const int _nbuf;
  static const int _nbinx;
  static const int _nbiny;
  static const float _xmin;
  static const float _xmax;
  static const float _ymin;
  static const float _ymax;
  static const TH2* _h;

  //GHM  ClassDef(MEGeom,0) // MEGeom -- Main geometry class
};

#endif