ATLAS Offline Software
RegionLogicalOperation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef RegionLogicalOperation_H
6 #define RegionLogicalOperation_H
7 
8 #include "RegionSelectorBase.h"
9 
10 // c - c++
11 #include "vector"
12 
13 namespace MuonCalib {
14 
15  class MuonFixedId;
16 
18  public:
22  virtual ~RegionLogicalOperation() = default;
28  bool AddRegion(std::unique_ptr<RegionSelectorBase> region, bool invert = false);
33  bool AddOperator(bool op);
35  bool SurplusOperator() const {
36  if (m_operator.size() > m_regions.size() - 1) return true;
37  return false;
38  }
40  bool Result(const MuonFixedId &region) const;
41  void Print(std::ostream &os) const;
42 
43  private:
45  std::vector<std::unique_ptr<RegionSelectorBase> > m_regions;
47  std::vector<bool> m_operator;
49  std::vector<bool> m_inverse;
50  };
51 
52 } // namespace MuonCalib
53 #endif
MuonCalib::RegionLogicalOperation::AddOperator
bool AddOperator(bool op)
Set next operator.
Definition: RegionLogicalOperation.cxx:20
MuonCalib::RegionLogicalOperation::RegionLogicalOperation
RegionLogicalOperation()=default
Constructor.
MuonCalib::RegionSelectorBase
Definition: RegionSelectorBase.h:16
MuonCalib::RegionLogicalOperation::m_inverse
std::vector< bool > m_inverse
inverse region selection
Definition: RegionLogicalOperation.h:49
MuonCalib::RegionLogicalOperation::~RegionLogicalOperation
virtual ~RegionLogicalOperation()=default
Destructor.
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::RegionLogicalOperation::AddRegion
bool AddRegion(std::unique_ptr< RegionSelectorBase > region, bool invert=false)
Add a region to the operation.
Definition: RegionLogicalOperation.cxx:13
MuonCalib::RegionLogicalOperation::Print
void Print(std::ostream &os) const
character output of region
Definition: RegionLogicalOperation.cxx:40
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
MuonCalib::MuonFixedId
Definition: MuonFixedId.h:50
MuonCalib::RegionLogicalOperation::Result
bool Result(const MuonFixedId &region) const
return the reslut of the logical operation
Definition: RegionLogicalOperation.cxx:26
MuonCalib::RegionLogicalOperation
Definition: RegionLogicalOperation.h:17
MuonCalib::RegionLogicalOperation::SurplusOperator
bool SurplusOperator() const
check for surplus operators
Definition: RegionLogicalOperation.h:35
MuonCalib::RegionLogicalOperation::m_regions
std::vector< std::unique_ptr< RegionSelectorBase > > m_regions
region data
Definition: RegionLogicalOperation.h:45
RegionSelectorBase.h
MuonCalib::RegionLogicalOperation::m_operator
std::vector< bool > m_operator
region operator - true=or false=and
Definition: RegionLogicalOperation.h:47