CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Attributes | Friends
reco::PFBlockElement Class Referenceabstract

Abstract base class for a PFBlock element (track, cluster...) More...

#include <PFBlockElement.h>

Inheritance diagram for reco::PFBlockElement:
reco::PFBlockElementBrem reco::PFBlockElementCluster reco::PFBlockElementGsfTrack reco::PFBlockElementSuperCluster reco::PFBlockElementTrack

Public Types

enum  TrackType {
  DEFAULT =0, T_FROM_DISP, T_TO_DISP, T_FROM_GAMMACONV,
  MUON, T_FROM_V0
}
 
enum  Type {
  NONE =0, TRACK =1, PS1 =2, PS2 =3,
  ECAL =4, HCAL =5, GSF =6, BREM =7,
  HFEM =8, HFHAD =9, SC =10
}
 

Public Member Functions

virtual PFBlockElementclone () const =0
 necessary to have the edm::OwnVector<PFBlockElement> working More...
 
virtual PFClusterRef clusterRef () const
 
virtual ConversionRef convRef () const
 
virtual PFDisplacedTrackerVertexRef displacedVertexRef (TrackType trType) const
 
virtual void Dump (std::ostream &out=std::cout, const char *tab=" ") const
 print the object inside the element More...
 
unsigned index () const
 
virtual bool isLinkedToDisplacedVertex () const
 
virtual bool isPrimary () const
 
virtual bool isSecondary () const
 
void lock ()
 lock element More...
 
bool locked () const
 locked ? More...
 
virtual MuonRef muonRef () const
 
 PFBlockElement (Type type=NONE)
 standard constructor More...
 
virtual void setConversionRef (const ConversionRef &convRef, TrackType trType)
 
virtual void setDisplacedVertexRef (const PFDisplacedTrackerVertexRef &niref, TrackType trType)
 
void setIndex (unsigned index)
 set index More...
 
virtual void setMuonRef (const MuonRef &muref)
 
virtual void setTrackType (TrackType trType, bool value)
 the trackType More...
 
virtual void setV0Ref (const VertexCompositeCandidateRef &v0ref, TrackType trType)
 
virtual reco::TrackRef trackRef () const
 
virtual PFRecTrackRef trackRefPF () const
 
virtual bool trackType (TrackType trType) const
 
Type type () const
 
void unLock ()
 unlock element More...
 
virtual VertexCompositeCandidateRef V0Ref () const
 
virtual ~PFBlockElement ()
 destructor More...
 

Protected Attributes

unsigned index_
 index in block vector More...
 
bool locked_
 
Type type_
 

Friends

std::ostream & operator<< (std::ostream &out, const PFBlockElement &element)
 

Detailed Description

Abstract base class for a PFBlock element (track, cluster...)

this class contains a PFRecTrackRef of a PFClusterRef, depending on the type of the element

Definition at line 26 of file PFBlockElement.h.

Member Enumeration Documentation

Enumerator
DEFAULT 
T_FROM_DISP 
T_TO_DISP 
T_FROM_GAMMACONV 
MUON 
T_FROM_V0 

Definition at line 45 of file PFBlockElement.h.

possible types for the element do not modify this enum if you don't know what you're doing!!!

Enumerator
NONE 
TRACK 
PS1 
PS2 
ECAL 
HCAL 
GSF 
BREM 
HFEM 
HFHAD 
SC 

Definition at line 31 of file PFBlockElement.h.

Constructor & Destructor Documentation

reco::PFBlockElement::PFBlockElement ( Type  type = NONE)
inline

standard constructor

Definition at line 55 of file PFBlockElement.h.

55  :
56  type_(type),
57  locked_(false),
58  index_( static_cast<unsigned>(-1) ) {
59  }
type
Definition: HCALResponse.h:22
unsigned index_
index in block vector
virtual reco::PFBlockElement::~PFBlockElement ( )
inlinevirtual

destructor

Definition at line 63 of file PFBlockElement.h.

63 {}

Member Function Documentation

virtual PFBlockElement* reco::PFBlockElement::clone ( ) const
pure virtual
virtual PFClusterRef reco::PFBlockElement::clusterRef ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementCluster.

Definition at line 99 of file PFBlockElement.h.

Referenced by PFElectronTranslator::createBasicCluster(), PFElectronTranslator::createPreshowerCluster(), PFBlockAlgo::link(), and FWPFBlockProxyBuilder::setupClusterElement().

99 {return PFClusterRef(); }
edm::Ref< PFClusterCollection > PFClusterRef
persistent reference to PFCluster objects
Definition: PFClusterFwd.h:15
virtual ConversionRef reco::PFBlockElement::convRef ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 101 of file PFBlockElement.h.

Referenced by PFBlockAlgo::testLinkByVertex().

101 { return ConversionRef();}
edm::Ref< ConversionCollection > ConversionRef
reference to an object in a collection of Conversion objects
Definition: ConversionFwd.h:15
virtual PFDisplacedTrackerVertexRef reco::PFBlockElement::displacedVertexRef ( TrackType  trType) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 100 of file PFBlockElement.h.

Referenced by PFBlockAlgo::testLinkByVertex().

100 { return PFDisplacedTrackerVertexRef(); }
edm::Ref< PFDisplacedTrackerVertexCollection > PFDisplacedTrackerVertexRef
persistent reference to a DisplacedTrackerVertex
void PFBlockElement::Dump ( std::ostream &  out = std::cout,
const char *  tab = " " 
) const
virtual

print the object inside the element

Reimplemented in reco::PFBlockElementSuperCluster, reco::PFBlockElementCluster, reco::PFBlockElementGsfTrack, reco::PFBlockElementBrem, and reco::PFBlockElementTrack.

Definition at line 16 of file PFBlockElement.cc.

17  {
18  if(!out) return;
19  out<<pad<<"base element";
20 }
tuple out
Definition: dbtoconf.py:99
unsigned reco::PFBlockElement::index ( ) const
inline
Returns
index

Definition at line 95 of file PFBlockElement.h.

References index_.

Referenced by PFElectronTranslator::correspondingDaughterCandidate(), and setIndex().

95 {return index_;}
unsigned index_
index in block vector
virtual bool reco::PFBlockElement::isLinkedToDisplacedVertex ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 118 of file PFBlockElement.h.

Referenced by PFBlockAlgo::link().

118 {return false;}
virtual bool reco::PFBlockElement::isPrimary ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 117 of file PFBlockElement.h.

117 { return false; }
virtual bool reco::PFBlockElement::isSecondary ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack, and reco::PFBlockElementGsfTrack.

Definition at line 116 of file PFBlockElement.h.

116 { return false; }
void reco::PFBlockElement::lock ( )
inline

lock element

Definition at line 73 of file PFBlockElement.h.

References locked_.

Referenced by reco::PFBlock::addElement().

73 {locked_ = true;}
bool reco::PFBlockElement::locked ( ) const
inline

locked ?

Definition at line 89 of file PFBlockElement.h.

References locked_.

89 {return locked_;}
virtual MuonRef reco::PFBlockElement::muonRef ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 102 of file PFBlockElement.h.

102 { return MuonRef(); }
edm::Ref< MuonCollection > MuonRef
presistent reference to a Muon
Definition: MuonFwd.h:13
virtual void reco::PFBlockElement::setConversionRef ( const ConversionRef convRef,
TrackType  trType 
)
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 106 of file PFBlockElement.h.

References gather_cfg::cout.

Referenced by PFBlockAlgo::setInput().

106  {
107  std::cout << "Error in PFBlockElement::setConversionRef : this base class method is not implemented" << std::endl;}
tuple cout
Definition: gather_cfg.py:41
virtual void reco::PFBlockElement::setDisplacedVertexRef ( const PFDisplacedTrackerVertexRef niref,
TrackType  trType 
)
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 104 of file PFBlockElement.h.

References gather_cfg::cout.

Referenced by PFBlockAlgo::setInput().

104  {
105  std::cout << "Error in PFBlockElement::setDisplacedVertexRef : this base class method is not implemented" << std::endl;}
tuple cout
Definition: gather_cfg.py:41
void reco::PFBlockElement::setIndex ( unsigned  index)
inline

set index

Definition at line 92 of file PFBlockElement.h.

References index(), and index_.

Referenced by reco::PFBlock::addElement().

92 { index_ = index; }
unsigned index() const
unsigned index_
index in block vector
virtual void reco::PFBlockElement::setMuonRef ( const MuonRef muref)
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 108 of file PFBlockElement.h.

References gather_cfg::cout.

Referenced by PFBlockAlgo::setInput().

108  {
109  std::cout << "Error in PFBlockElement::setMuonRef : this base class method is not implemented" << std::endl;}
tuple cout
Definition: gather_cfg.py:41
virtual void reco::PFBlockElement::setTrackType ( TrackType  trType,
bool  value 
)
inlinevirtual

the trackType

Reimplemented in reco::PFBlockElementGsfTrack, and reco::PFBlockElementTrack.

Definition at line 85 of file PFBlockElement.h.

References gather_cfg::cout.

Referenced by PFBlockAlgo::setInput().

85  {
86  std::cout << "Error in PFBlockElement::setTrackType : this base class method is not implemented" << std::endl;}
tuple cout
Definition: gather_cfg.py:41
virtual void reco::PFBlockElement::setV0Ref ( const VertexCompositeCandidateRef v0ref,
TrackType  trType 
)
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 110 of file PFBlockElement.h.

References gather_cfg::cout.

Referenced by PFBlockAlgo::setInput().

110  {
111 
112  std::cout << "Error in PFBlockElement::setV0Ref : this base class method is not implemented" << std::endl;
113  }
tuple cout
Definition: gather_cfg.py:41
virtual reco::TrackRef reco::PFBlockElement::trackRef ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 97 of file PFBlockElement.h.

Referenced by FWPFBlockProxyBuilder::setupTrackElement().

97 {return reco::TrackRef(); }
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
virtual PFRecTrackRef reco::PFBlockElement::trackRefPF ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 98 of file PFBlockElement.h.

Referenced by PFBlockAlgo::link().

98 {return PFRecTrackRef(); }
edm::Ref< PFRecTrackCollection > PFRecTrackRef
persistent reference to PFRecTrack objects
Definition: PFRecTrackFwd.h:15
virtual bool reco::PFBlockElement::trackType ( TrackType  trType) const
inlinevirtual
Type reco::PFBlockElement::type ( ) const
inline
void reco::PFBlockElement::unLock ( )
inline

unlock element

Definition at line 76 of file PFBlockElement.h.

References locked_.

76 {locked_ = false;}
virtual VertexCompositeCandidateRef reco::PFBlockElement::V0Ref ( ) const
inlinevirtual

Reimplemented in reco::PFBlockElementTrack.

Definition at line 103 of file PFBlockElement.h.

Referenced by PFBlockAlgo::testLinkByVertex().

103 { return VertexCompositeCandidateRef(); }
edm::Ref< VertexCompositeCandidateCollection > VertexCompositeCandidateRef
persistent reference to an object in a collection of Candidate objects

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const PFBlockElement element 
)
friend

Member Data Documentation

unsigned reco::PFBlockElement::index_
protected

index in block vector

Definition at line 135 of file PFBlockElement.h.

Referenced by index(), and setIndex().

bool reco::PFBlockElement::locked_
protected

locked flag.

Definition at line 132 of file PFBlockElement.h.

Referenced by lock(), locked(), and unLock().

Type reco::PFBlockElement::type_
protected