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
#include "Geometry/MuonNumbering/interface/MuonSubDetector.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

MuonSubDetector::MuonSubDetector(const std::string& name) : detectorName(name) {
  if (name == "MuonDTHits") {
    detector = barrel;
  } else if (name == "MuonCSCHits") {
    detector = endcap;
  } else if (name == "MuonRPCHits") {
    detector = rpc;
  } else if (name == "MuonGEMHits") {
    detector = gem;
  } else if (name == "MuonME0Hits") {
    detector = me0;
  } else {
    edm::LogWarning("MuonGeom") << "MuonSubDetector::MuonSubDetector does not recognize " << name;
    detector = nodef;
  }
}

bool MuonSubDetector::isBarrel() { return (detector == barrel); }

bool MuonSubDetector::isEndcap() { return (detector == endcap); }

bool MuonSubDetector::isRPC() { return (detector == rpc); }

bool MuonSubDetector::isGEM() { return (detector == gem); }

bool MuonSubDetector::isME0() { return (detector == me0); }

std::string MuonSubDetector::name() { return detectorName; }

std::string MuonSubDetector::suIdName() {
  if (detector == barrel) {
    return "MuonHitsBarrel";
  } else if (detector == endcap) {
    return "MuonHitsEndcap";
  } else if (detector == rpc) {
    return "MuonHitsRPC";
  } else if (detector == gem) {
    return "MuonHitsGEM";
  } else if (detector == me0) {
    return "MuonHitsME0";
  } else {
    return "";
  }
}