CMS 3D CMS Logo

Public Member Functions | Private Attributes

egHLT::EgDiPhoCut Struct Reference

#include <EgHLTDQMCut.h>

Inheritance diagram for egHLT::EgDiPhoCut:
egHLT::EgHLTDQMCut< OffPho >

List of all members.

Public Member Functions

EgHLTDQMCut< OffPho > * clone () const
 EgDiPhoCut (int cutCode, int(OffPho::*cutCodeFunc)() const)
bool pass (const OffPho &obj, const OffEvt &evt) const

Private Attributes

int cutCode_
int(OffPho::* cutCodeFunc_ )() const

Detailed Description

Definition at line 405 of file EgHLTDQMCut.h.


Constructor & Destructor Documentation

egHLT::EgDiPhoCut::EgDiPhoCut ( int  cutCode,
int(OffPho::*)() const  cutCodeFunc 
) [inline]

Definition at line 411 of file EgHLTDQMCut.h.

Referenced by clone().

:cutCode_(cutCode),cutCodeFunc_(cutCodeFunc){}

Member Function Documentation

EgHLTDQMCut<OffPho>* egHLT::EgDiPhoCut::clone ( void  ) const [inline, virtual]

Implements egHLT::EgHLTDQMCut< OffPho >.

Definition at line 413 of file EgHLTDQMCut.h.

References EgDiPhoCut().

{return new EgDiPhoCut(*this);}
bool EgDiPhoCut::pass ( const OffPho obj,
const OffEvt evt 
) const [virtual]

Implements egHLT::EgHLTDQMCut< OffPho >.

Definition at line 104 of file EgHLTDQMCut.cc.

References cutCode_, cutCodeFunc_, and egHLT::OffEvt::phos().

{
  const std::vector<OffPho>& phos = evt.phos();
  for(size_t phoNr=0;phoNr<phos.size();phoNr++){
    if(&phos[phoNr]!=&obj){ //different phos
     
      int diPhoCutCode = (obj.*cutCodeFunc_)() | (phos[phoNr].*cutCodeFunc_)();
      if( (diPhoCutCode & cutCode_)==0x0) return true;
    }
  }
  return false;
}

Member Data Documentation

Definition at line 407 of file EgHLTDQMCut.h.

Referenced by pass().

int(OffPho::* egHLT::EgDiPhoCut::cutCodeFunc_)() const [private]

Definition at line 408 of file EgHLTDQMCut.h.

Referenced by pass().