CMS 3D CMS Logo

CutSetter.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_CutSetter_h
2 #define CommonTools_Utils_CutSetter_h
3 /* \class reco::parser::CutSetter
4  *
5  * Cut setter
6  *
7  * \author original version: Chris Jones, Cornell,
8  * adapted by Luca Lista, INFN
9  *
10  * \version $Revision: 1.3 $
11  *
12  */
15 #include <cassert>
16 
17 namespace reco {
18  namespace parser {
19  struct CutSetter {
20  CutSetter(SelectorPtr& cut, SelectorStack& selStack) : cut_(cut), selStack_(selStack) {}
21 
22  void operator()(const char*, const char*) const {
23  assert(nullptr == cut_.get());
24  assert(!selStack_.empty());
25  cut_ = selStack_.back();
26  selStack_.pop_back();
27  }
30  };
31  } // namespace parser
32 } // namespace reco
33 
34 #endif
reco::parser::CutSetter::selStack_
SelectorStack & selStack_
Definition: CutSetter.h:29
TkAlMuonSelectors_cfi.cut
cut
Definition: TkAlMuonSelectors_cfi.py:5
SelectorStack.h
cms::cuda::assert
assert(be >=bs)
writedatasetfile.parser
parser
Definition: writedatasetfile.py:7
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::parser::CutSetter::CutSetter
CutSetter(SelectorPtr &cut, SelectorStack &selStack)
Definition: CutSetter.h:20
SelectorPtr.h
reco::parser::CutSetter::cut_
SelectorPtr & cut_
Definition: CutSetter.h:28
reco::parser::CutSetter
Definition: CutSetter.h:19
reco::parser::SelectorPtr
std::shared_ptr< SelectorBase > SelectorPtr
Definition: SelectorPtr.h:18
reco::parser::CutSetter::operator()
void operator()(const char *, const char *) const
Definition: CutSetter.h:22
reco::parser::SelectorStack
std::vector< SelectorPtr > SelectorStack
Definition: SelectorStack.h:18