CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/CommonTools/Utils/src/NotCombiner.h

Go to the documentation of this file.
00001 #ifndef CommonTools_Utils_NotCombiner_h
00002 #define CommonTools_Utils_NotCombiner_h
00003 /* \class reco::parser::NotCombiner
00004  *
00005  * logical NOT combiner
00006  *
00007  * \author original version: Chris Jones, Cornell, 
00008  *         adapted by Luca Lista, INFN
00009  *
00010  * \version $Revision: 1.3 $
00011  *
00012  */
00013 #include "CommonTools/Utils/src/SelectorBase.h"
00014 #include "CommonTools/Utils/src/SelectorPtr.h"
00015 
00016 namespace reco {
00017   namespace parser {    
00018     struct NotCombiner : public SelectorBase {
00019       NotCombiner( SelectorPtr arg ) :
00020         arg_( arg ) {}
00021       virtual bool operator()( const edm::ObjectWithDict& o ) const {
00022         return ! (*arg_)( o );
00023       }
00024     private:
00025       SelectorPtr arg_;
00026     };
00027   }
00028 }
00029 
00030 #endif