00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: Photon_v1.h 667341 2015-05-15 14:39:34Z christos $ 00003 #ifndef XAODEGAMMA_VERSIONS_PHOTON_V1_H 00004 #define XAODEGAMMA_VERSIONS_PHOTON_V1_H 00005 00006 // Core include(s): 00007 #include "AthLinks/ElementLink.h" 00008 00009 // xAOD include(s): 00010 #include "xAODTracking/Vertex.h" 00011 #include "xAODTracking/VertexContainer.h" 00012 #include "xAODTracking/TrackParticleContainer.h" 00013 00014 // Local include(s): 00015 #include "xAODEgamma/versions/Egamma_v1.h" 00016 #include "xAODEgamma/PhotonxAODHelpers.h" 00017 //CxxUtils for override final 00018 #include "CxxUtils/final.h" 00019 #include "CxxUtils/override.h" 00020 00021 namespace xAOD { 00022 00032 class Photon_v1 :public xAOD::Egamma_v1 { 00033 00034 public: 00037 00039 Photon_v1(); 00040 00042 Photon_v1(const Photon_v1& ph); 00043 00045 00048 00050 Photon_v1& operator=(const Photon_v1& el ); 00051 00053 00056 00058 virtual Type::ObjectType type() const ATH_FINAL; //Always a Photon . 00060 00063 00065 const xAOD::Vertex* vertex( size_t index = 0 ) const; 00066 00069 const ElementLink< VertexContainer >& vertexLink( size_t index = 0 ) const; 00070 00072 typedef std::vector< ElementLink< VertexContainer > > VxELVec_t; 00073 00075 const VxELVec_t& vertexLinks() const; 00078 void setVertexLinks( const VxELVec_t& links ); 00079 00082 size_t nVertices() const; 00083 00085 00088 00092 bool vertexCaloMatchValue( float& value, const EgammaParameters::VertexCaloMatchType information ) const; 00093 00096 float vertexCaloMatchValue( const EgammaParameters::VertexCaloMatchType information ) const; 00097 00099 bool setVertexCaloMatchValue( float& value, const EgammaParameters::VertexCaloMatchType information ); 00100 00102 xAOD::EgammaParameters::ConversionType conversionType() const{ 00103 return xAOD::EgammaHelpers::conversionType(this); 00104 } 00105 00107 float conversionRadius() const { 00108 return xAOD::EgammaHelpers::conversionRadius(this); 00109 } 00110 00111 00113 00114 00115 }; // Photon Class 00116 00117 }// xAOD namespace 00118 00119 00120 #endif // XAODEGAMMA_VERSIONS_PHOTON_V1_H