00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id: TrigPhoton_v1.h 631115 2014-11-26 08:34:25Z gwatts $ 00003 #ifndef XAODTRIGEGAMMA_VERSIONS_TRIGPHOTON_V1_H 00004 #define XAODTRIGEGAMMA_VERSIONS_TRIGPHOTON_V1_H 00005 00006 // System include(s): 00007 extern "C" { 00008 # include <stdint.h> 00009 } 00010 00011 // EDM include(s): 00012 #include "AthLinks/ElementLink.h" 00013 #include "xAODBase/IParticle.h" 00014 #include "xAODTrigCalo/TrigEMClusterContainer.h" 00015 00016 namespace xAOD { 00017 00030 class TrigPhoton_v1 : public IParticle { 00031 00032 public: 00034 TrigPhoton_v1(); 00035 00038 00040 virtual double pt() const; 00042 virtual double eta() const { return caloEta(); } 00044 virtual double phi() const { return caloPhi(); } 00046 virtual double m() const { return 0.0; } 00048 virtual double e() const; 00050 virtual double rapidity() const; 00051 00053 virtual const FourMom_t& p4() const; 00054 00056 virtual Type::ObjectType type() const { return Type::TrigPhoton; } 00057 00059 00062 00064 uint32_t roiWord() const; 00066 void setRoiWord( uint32_t roi ); 00067 00069 float rcore() const; 00071 void setRcore( float Reta ); 00072 00074 float eratio() const; 00076 void setEratio( float Eratio ); 00077 00079 float etHad() const; 00081 void setEtHad( float HadEt ); 00082 00084 float etHad1() const; 00086 void setEtHad1( float HadEt ); 00087 00089 float f0() const; 00091 void setF0( float f0 ); 00092 00094 float f1() const; 00096 void setF1( float f1 ); 00097 00099 float f2() const; 00101 void setF2( float f2 ); 00102 00104 float f3() const; 00106 void setF3( float f3 ); 00107 00109 float fside() const; 00111 void setFside( float fside ); 00112 00114 float weta2() const; 00116 void setWeta2( float Weta2 ); 00117 00119 00122 00124 void setPt( double pt ); 00125 00127 float caloEta() const; 00129 void setCaloEta( float caloEta ); 00130 00132 float caloPhi() const; 00134 void setCaloPhi( float caloPhi ); 00135 00137 float dEta() const; 00139 void setDEta( float dEta ); 00140 00142 float dPhi() const; 00144 void setDPhi( float dPhi ); 00145 00147 00150 00152 typedef ElementLink< TrigEMClusterContainer > EMClusterLink_t; 00153 00155 const TrigEMCluster* emCluster() const; 00157 const EMClusterLink_t& emClusterLink() const; 00159 void setEmClusterLink( const EMClusterLink_t& value ); 00160 00162 00164 void init( uint32_t roi, 00165 float dphi, float deta, 00166 const EMClusterLink_t& clLink ); 00167 00168 private: 00170 mutable FourMom_t m_p4; 00172 mutable bool m_p4Cached; 00173 00174 }; // class TrigPhoton_v1 00175 00176 } // namespace xAOD 00177 00178 #endif // not XAODTRIGEGAMMA_VERSIONS_TRIGPHOTON_V1_H