00001 // GlobalEventData.h sigleton version 00002 #ifndef _Atlfast_GlobalEventData_H 00003 #define _Atlfast_GlobalEventData_H 00004 00005 // Normal STL and physical vectors 00006 #include <string> 00007 // Gaudi 00008 #ifndef STD_VECTOR_H 00009 #include <vector> 00010 #define STD_VECTOR_H 00011 #endif 00012 00013 00014 namespace HepMC_helper{ 00015 class IMCselector; 00016 } 00017 00018 namespace Atlfast { 00019 class GlobalEventDataMaker; 00020 00030 class GlobalEventData { 00031 public: 00032 00033 friend class GlobalEventDataMaker; 00035 int lumi() {return m_lumi;} 00037 bool fieldOn() {return m_fieldOn;} 00039 double barrelForwardEta() {return m_barrelForwardEta;} 00041 int randSeed() {return m_randSeed;} 00043 HepMC_helper::IMCselector* visibleToCal() {return m_visibleToCal;} 00045 HepMC_helper::IMCselector* visibleToAtlas() {return m_visibleToAtlas;} 00047 std::vector<int> invisibles() {return m_invisibles;} 00049 std::string mcLocation() {return m_mcLocation;} 00051 bool adjustMissETForIsolation() {return m_adjustMissEtForIsolation;} 00053 std::vector<int> monopoleIDs() {return m_monopoleIDs;} 00055 bool justHardScatter() {return m_justHardScatter;} 00056 00058 static GlobalEventData* Instance(); 00059 00060 00062 void set_adjustMissEtForIsolation(bool adjustMissEtForIsolation) 00063 {m_adjustMissEtForIsolation = adjustMissEtForIsolation;} 00064 00065 private: 00067 void setValues(int lumi, 00068 bool fieldOn, 00069 double barrelForwardEta, 00070 int randSeed, 00071 std::vector<int> invisibles, 00072 std::string mcLocation, 00073 std::vector<int> monopoleIDs, 00074 bool justHardScatter); 00075 00077 GlobalEventData(){}; 00079 int m_lumi; 00080 bool m_fieldOn; 00081 double m_barrelForwardEta; 00082 int m_randSeed; 00083 HepMC_helper::IMCselector* m_visibleToCal; 00084 HepMC_helper::IMCselector* m_visibleToAtlas; 00085 std::vector<int> m_invisibles; 00086 std::string m_mcLocation; 00087 bool m_adjustMissEtForIsolation; 00088 std::vector<int> m_monopoleIDs; 00089 bool m_justHardScatter; 00092 static GlobalEventData* m_instance; 00093 00094 }; 00095 } // end of namespace bracket 00096 #endif 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116