ATLAS Offline Software
IRegionSelectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IRegionSelectorTool.h
7 // Header file for class IRegionSelectorTool
9 // (c) ATLAS Detector software
11 // Niels.Van.Eldik@cern.ch,
13 
14 
15 #ifndef MUONCALIB_IREGIONSELECTORTOOL_H
16 #define MUONCALIB_IREGIONSELECTORTOOL_H
17 
18 // Gaudi
19 #include "GaudiKernel/IAlgTool.h"
20 
22 
23 #include <vector>
24 
25 namespace MuonCalib {
26 
28  static const InterfaceID IID_IRegionSelectorTool("MuonCalib::IRegionSelectorTool", 1, 0);
29 
38  class MuonCalibSegment;
39 
40  class IRegionSelectorTool : virtual public IAlgTool {
41  public:
42 
43  typedef MuonFixedId id_type;
44  typedef std::string RegionKey;
45  typedef std::pair<const MuonCalibSegment*,RegionKey> Region;
46  typedef std::vector<Region> RegionVec;
47  public:
48  IRegionSelectorTool() : m_notUsed("notUsed") {};
49  virtual ~IRegionSelectorTool(){};
50 
51  static const InterfaceID& interfaceID() { return IID_IRegionSelectorTool; };
52 
53  virtual RegionKey getRegionKey(const id_type& id) const = 0;
54  virtual RegionVec splitIntoRegions( const MuonCalibSegment* seg) const = 0;
55 
56 
57  virtual bool useRegion( const RegionKey& key ) const { return key != m_notUsed; }
58  virtual RegionKey notUsed() const { return m_notUsed; }
59 
60  private:
62  };
63 
64 }
65 
66 #endif //
MuonCalib::IRegionSelectorTool::IRegionSelectorTool
IRegionSelectorTool()
Definition: IRegionSelectorTool.h:48
MuonCalib::IRegionSelectorTool::Region
std::pair< const MuonCalibSegment *, RegionKey > Region
typedef of a pair of a MuonCalibSegment and a RegionKey
Definition: IRegionSelectorTool.h:45
MuonCalib::MuonCalibSegment
Definition: MuonCalibSegment.h:39
MuonCalib::IRegionSelectorTool::useRegion
virtual bool useRegion(const RegionKey &key) const
virtual IAlgTool interface: returns true if the generated key corresponds to a region that should be ...
Definition: IRegionSelectorTool.h:57
MuonCalib::IRegionSelectorTool::m_notUsed
RegionKey m_notUsed
flag for regions that are not to be calibrated
Definition: IRegionSelectorTool.h:61
MuonCalib::IRegionSelectorTool::id_type
MuonFixedId id_type
typedef for a MuonFixedId
Definition: IRegionSelectorTool.h:43
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::IRegionSelectorTool::~IRegionSelectorTool
virtual ~IRegionSelectorTool()
IAlgTool default constructor.
Definition: IRegionSelectorTool.h:49
MuonCalib::IRegionSelectorTool::RegionVec
std::vector< Region > RegionVec
typedef of a set of Region (pairs)
Definition: IRegionSelectorTool.h:46
MuonCalib::MuonFixedId
Definition: MuonFixedId.h:50
MuonCalib::IRegionSelectorTool::getRegionKey
virtual RegionKey getRegionKey(const id_type &id) const =0
retrieve Interface ID
MuonCalib::IRegionSelectorTool::splitIntoRegions
virtual RegionVec splitIntoRegions(const MuonCalibSegment *seg) const =0
pure virtual IAlgTool interface: divide MdtSegment into subsegments if they belong to differnt region...
MuonCalib::IRegionSelectorTool::interfaceID
static const InterfaceID & interfaceID()
pure virtual IAlgTool destructor
Definition: IRegionSelectorTool.h:51
MuonCalib::IRegionSelectorTool::notUsed
virtual RegionKey notUsed() const
virtual IAlgTool interface: returns the notUsed key
Definition: IRegionSelectorTool.h:58
MuonFixedId.h
MuonCalib::IRegionSelectorTool
Definition: IRegionSelectorTool.h:40
MuonCalib::IRegionSelectorTool::RegionKey
std::string RegionKey
typedef for a std::string used as region key
Definition: IRegionSelectorTool.h:44
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37