00001 #include "Event/dataManager.h"
00002
00003 #include "Event/dataEventServer.h"
00004 #include "Event/dataDetectorServer.h"
00005 #include "Event/dataIOROOTServer.h"
00006
00007 #include "centella/userDataEvent.h"
00008 #include "centella/userDataDetector.h"
00009
00010 dataManager* dataManager::m_instance = 0;
00011
00012
00013 dataManager::dataManager()
00014
00015 {
00016 if (m_instance != 0) return;
00017 m_instance = this;
00018
00019 m_evt = new dataEventServer();
00020 m_det = new dataDetectorServer();
00021 m_IO = new dataIOServer();
00022
00023 m_instance = this;
00025 setName("dataManager");
00026
00027
00028 userDataDetector();
00029
00030 userDataEvent();
00031 }
00032
00033 dataManager::~dataManager()
00034
00035 {
00036 delete m_det;
00037 delete m_IO;
00038 delete m_evt;
00039 }
00040
00041 trsDataVI* dataManager::getTrsData(std::string name) const
00042
00043 {
00044 if (det()->getTrsData(name) != 0) return det()->getTrsData(name);
00045 else if (evt()->getTrsData(name) != 0) return evt()->getTrsData(name);
00046 message(" not found transient Data named "+name);
00047 return 0;
00048 }
00049
00050 void dataManager::writeOut() const
00051
00052 {
00053 if (!acceptLevel()) return;
00054 messageVI::writeOut();
00055
00056 m_det->writeOut();
00057 m_evt->writeOut();
00058 m_IO->writeOut();
00059 }