ATLAS Offline Software
Loading...
Searching...
No Matches
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
9
10// c - c++
11#include "vector"
12
13namespace 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 }
39
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
ICscStripFitter::Result Result
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
Definition MuonFixedId.h:50
RegionLogicalOperation()=default
Constructor.
bool SurplusOperator() const
check for surplus operators
std::vector< bool > m_operator
region operator - true=or false=and
bool AddRegion(std::unique_ptr< RegionSelectorBase > region, bool invert=false)
Add a region to the operation.
void Print(std::ostream &os) const
character output of region
virtual ~RegionLogicalOperation()=default
Destructor.
std::vector< std::unique_ptr< RegionSelectorBase > > m_regions
region data
bool AddOperator(bool op)
Set next operator.
std::vector< bool > m_inverse
inverse region selection
RegionSelectorBase()=default
Constructor.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.