1 #ifndef __PFBlockElement__
2 #define __PFBlockElement__
20 class PFBlockElementCluster;
21 class PFBlockElementTrack;
61 index_( static_cast<unsigned>(-1) ) {
70 const char*
tab=
" " )
const;
89 std::cout <<
"Error in PFBlockElement::setTrackType : this base class method is not implemented" << std::endl;}
108 std::cout <<
"Error in PFBlockElement::setDisplacedVertexRef : this base class method is not implemented" << std::endl;}
110 std::cout <<
"Error in PFBlockElement::setConversionRef : this base class method is not implemented" << std::endl;}
112 std::cout <<
"Error in PFBlockElement::setMuonRef : this base class method is not implemented" << std::endl;}
115 std::cout <<
"Error in PFBlockElement::setV0Ref : this base class method is not implemented" << std::endl;
std::vector< std::pair< double, double > > PFMultilinksType
Abstract This class is used by the KDTree Track / Ecal Cluster linker to store all found links...
Abstract base class for a PFBlock element (track, cluster...)
virtual bool isPrimary() const
void unLock()
unlock element
virtual void Dump(std::ostream &out=std::cout, const char *tab=" ") const
print the object inside the element
virtual bool isSecondary() const
virtual PFDisplacedTrackerVertexRef displacedVertexRef(TrackType trType) const
PFBlockElement(Type type=NONE)
standard constructor
virtual PFBlockElement * clone() const =0
necessary to have the edm::OwnVector<PFBlockElement> working
virtual void setTrackType(TrackType trType, bool value)
the trackType
virtual VertexCompositeCandidateRef V0Ref() const
void setMultilinksList(const PFMultilinksType &links)
edm::Ref< VertexCompositeCandidateCollection > VertexCompositeCandidateRef
persistent reference to an object in a collection of Candidate objects
void setIsValidMultilinks(bool isVal)
bool locked() const
locked ?
PFMultiLinksTC multilinks_
edm::Ref< PFClusterCollection > PFClusterRef
persistent reference to PFCluster objects
virtual reco::TrackRef trackRef() const
void setIndex(unsigned index)
set index
PFMultilinksType linkedClusters
virtual void setDisplacedVertexRef(const PFDisplacedTrackerVertexRef &niref, TrackType trType)
virtual void setV0Ref(const VertexCompositeCandidateRef &v0ref, TrackType trType)
virtual PFClusterRef clusterRef() const
edm::Ref< PFRecTrackCollection > PFRecTrackRef
persistent reference to PFRecTrack objects
edm::Ref< PFDisplacedTrackerVertexCollection > PFDisplacedTrackerVertexRef
persistent reference to a DisplacedTrackerVertex
edm::Ref< MuonCollection > MuonRef
presistent reference to a Muon
virtual PFRecTrackRef trackRefPF() const
virtual ~PFBlockElement()
destructor
virtual void setConversionRef(const ConversionRef &convRef, TrackType trType)
virtual MuonRef muonRef() const
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
bool isMultilinksValide() const
unsigned index_
index in block vector
virtual bool trackType(TrackType trType) const
virtual ConversionRef convRef() const
virtual void setMuonRef(const MuonRef &muref)
edm::Ref< ConversionCollection > ConversionRef
reference to an object in a collection of Conversion objects
virtual bool isLinkedToDisplacedVertex() const
volatile std::atomic< bool > shutdown_flag false
friend std::ostream & operator<<(std::ostream &out, const PFBlockElement &element)
void setMultilinks(const PFMultiLinksTC &ml)
const PFMultilinksType & getMultilinks() const