EcalIndexingTools

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
#ifndef EcalIndexingTools_h
#define EcalIndexingTools_h

#include <iostream>
/* ******************************************
 * Alessandro Palma 19/03/2008
 ********************************************/

class EcalIndexingTools {
private:
  EcalIndexingTools()
      : totNumberOfBins_(-1), nBinsEt_(-1), nBinsEta_(-1), maxEta_(-1.), maxEt_(-1.), minEta_(-1.), minEt_(-1.) {}

  static EcalIndexingTools* instance_;

  int totNumberOfBins_, nBinsEt_, nBinsEta_;

  double maxEta_, maxEt_, minEta_, minEt_;

public:
  ~EcalIndexingTools() {}

  static EcalIndexingTools* getInstance() {
    if (instance_ == nullptr) {
      instance_ = new EcalIndexingTools();

      std::cout << "[EcalIndexingTools* getInstance ()] new EcalIndexingTools created " << std::endl;
    }
    return instance_;
  }

  int getNumberOfChannels() { return totNumberOfBins_; };

  double getEtaMax() { return maxEta_; };

  int getProgressiveIndex(double, double);

  void setBinRange(int, double, double, int, double, double);
};

#endif