00001
00002
00003 #ifndef XAODTRIGMUON_VERSIONS_L2ISOMUON_V1_H
00004 #define XAODTRIGMUON_VERSIONS_L2ISOMUON_V1_H
00005
00006
00007 extern "C" {
00008 # include <stdint.h>
00009 }
00010 #include <iosfwd>
00011
00012
00013 #include "xAODBase/IParticle.h"
00014
00015 namespace xAOD {
00016
00025 class L2IsoMuon_v1 : public IParticle {
00026
00027 public:
00029 L2IsoMuon_v1();
00030
00033
00035 virtual double pt() const;
00037 virtual double eta() const;
00039 virtual double phi() const;
00041 virtual double m() const;
00043 virtual double e() const;
00045 virtual double rapidity() const;
00046
00048 typedef TLorentzVector FourMom_t;
00049
00051 virtual const FourMom_t& p4() const;
00052
00054 virtual Type::ObjectType type() const;
00055
00057
00060
00062 void setPt( float pt );
00064 void setEta( float eta );
00066 void setPhi( float phi );
00067
00069
00072
00074 uint32_t roiWord() const;
00076 void setRoiWord( uint32_t value );
00077
00079 float charge() const;
00081 void setCharge( float value );
00082
00084 int errorFlag() const;
00086 void setErrorFlag( int value );
00087
00089 float sumPt01() const;
00091 void setSumPt01( float value );
00092
00094 float sumPt02() const;
00096 void setSumPt02( float value );
00097
00099 float sumPt03() const;
00101 void setSumPt03( float value );
00102
00104 float sumPt04() const;
00106 void setSumPt04( float value );
00107
00109 float sumEt01() const;
00111 void setSumEt01( float value );
00112
00114 float sumEt02() const;
00116 void setSumEt02( float value );
00117
00119 float sumEt03() const;
00121 void setSumEt03( float value );
00122
00124 float sumEt04() const;
00126 void setSumEt04( float value );
00127
00129
00130 private:
00132 mutable FourMom_t m_p4;
00134 mutable bool m_p4Cached;
00135
00136 };
00137
00138 }
00139
00141 std::ostream& operator<< ( std::ostream& out,
00142 const xAOD::L2IsoMuon_v1& mu );
00143
00144 #endif // XAODTRIGMUON_VERSIONS_L2ISOMUON_V1_H