00001
00002
00003 #ifndef XAODTRIGGER_VERSIONS_MUONROI_V1_H
00004 #define XAODTRIGGER_VERSIONS_MUONROI_V1_H
00005
00006
00007 extern "C" {
00008 # include <stdint.h>
00009 }
00010 #include <string>
00011
00012
00013 #include "AthContainers/AuxElement.h"
00014
00015 namespace xAOD {
00016
00028 class MuonRoI_v1 : public SG::AuxElement {
00029
00030 public:
00032 enum RoISource {
00033 Barrel,
00034 Endcap,
00035 Forward
00036 };
00038 enum Hemisphere {
00039 Positive,
00040 Negative
00041 };
00043 enum Charge {
00044 Neg = 0,
00045 Pos = 1,
00046 Undef = 100
00047 };
00048
00050 MuonRoI_v1();
00051
00053 void initialize( uint32_t roiword, float eta, float phi,
00054 const std::string& thrname, float thrvalue );
00055
00058
00060 float eta() const;
00062 void setEta( float v );
00063
00065 float phi() const;
00067 void setPhi( float v );
00068
00070 uint32_t roiWord() const;
00072 void setRoIWord( uint32_t value );
00073
00075 float thrValue() const;
00077 void setThrValue( float v );
00078
00080 const std::string& thrName() const;
00082 void setThrName( const std::string& value );
00083
00085
00088
00090 int getThrNumber() const;
00092 int getRoI() const;
00094 int getSectorAddress() const;
00096 bool isFirstCandidate() const;
00098 bool isMoreCandInRoI() const;
00100 bool isMoreCandInSector() const;
00102 RoISource getSource() const;
00104 Hemisphere getHemisphere() const;
00106 Charge getCharge() const;
00108 bool isVetoed() const;
00109
00111
00112 };
00113
00114 }
00115
00116
00117 #include "xAODCore/BaseInfo.h"
00118 SG_BASE( xAOD::MuonRoI_v1, SG::AuxElement );
00119
00120 #endif // XAODTRIGGER_VERSIONS_MUONROI_V1_H