00001 //#include <otsdaq_demo/otsdaq-demo/FEInterfaces/FEWROtsUDPFSSRInterface.h> 00002 //#include <otsdaq_demo/otsdaq-demo/UserConfigurationDataFormats/FEWROtsUDPFSSRInterfaceConfiguration.h> 00003 #include "otsdaq-core/FECore/FEVInterfacesManager.h" 00004 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h" 00005 //#include "otsdaq-core/ConfigurationDataFormats/ConfigurationGroupKey.h" 00006 00007 //#include "otsdaq-demo/FEInterfaces/FEWOtsGenericInterface.h" 00008 #include "otsdaq-core/FECore/FEVInterface.h" 00009 00010 #include "otsdaq-core/ConfigurationInterface/ConfigurationInterface.h" 00011 #include <iostream> 00012 #include <memory> 00013 #include "otsdaq-core/PluginMakers/MakeInterfaceConfiguration.h" 00014 #include "otsdaq-core/PluginMakers/MakeInterface.h" 00015 00016 //#include "otsdaq-components/FEInterfaces/FEWOtsUDPFSSRInterface.h" 00017 //#include "otsdaq-components/FEInterfaces/FEWOtsUDPHCALInterface.h" 00018 00019 using namespace ots; 00020 00021 int main() 00022 { 00023 //Variables 00024 std::string supervisorContextUID_ = "MainContext"; 00025 std::string supervisorApplicationUID_ = "FeSupervisor0"; 00026 std::string ConfigurationAlias_ = "Physics"; 00027 std::string theSupervisorConfigurationPath_ = supervisorContextUID_ + "/LinkToApplicationConfiguration/" + supervisorApplicationUID_ + "/LinkToSupervisorConfiguration"; 00028 //const int ConfigurationGroupKeyValue_ = 0; 00029 //std::shared_ptr<ConfigurationGroupKey> theConfigurationGroupKey_(new ConfigurationGroupKey(ConfigurationGroupKeyValue_)); 00030 00032 //INSERTED GLOBALLY IN THE CODE 00033 ConfigurationManager* theConfigurationManager_ = new ConfigurationManager; 00034 FEVInterfacesManager theFEVInterfacesManager_(theConfigurationManager_->getNode(ConfigurationManager::XDAQ_CONTEXT_CONFIG_NAME), theSupervisorConfigurationPath_); 00035 00036 std::pair<std::string /*group name*/, ConfigurationGroupKey> theGroup = 00037 theConfigurationManager_->getConfigurationGroupFromAlias(ConfigurationAlias_); 00038 00039 theConfigurationManager_->loadConfigurationGroup( 00040 theGroup.first, 00041 theGroup.second, true); 00042 00043 theFEVInterfacesManager_.configure(); 00045 exit(0); 00047 //Getting just the informations about the FEWInterface 00048 00049 // const std::string feId_ = "0"; 00050 // ConfigurationInterface* theInterface_; 00051 // theInterface_ = ConfigurationInterface::getInstance(true);//FIXME This will be variable because if false it takes it from the database 00052 // Configurations* configurations = 0; 00053 // theInterface_->get((ConfigurationBase*&)configurations,"Configurations"); 00054 // ConfigurationBase* frontEndConfiguration = 0; 00055 // theInterface_->get(frontEndConfiguration, "FEConfiguration", theConfigurationGroupKey_, configurations); 00056 // 00057 // const std::string interfaceName = "FEOtsUDPFSSRInterface"; 00058 // const std::string configurationName = interfaceName + "Configuration"; 00059 // 00060 // //FEWOtsUDPHardwareConfiguration* interfaceConfiguration_ = 0; 00061 // 00062 // ConfigurationBase* interfaceConfiguration_ = 0;//makeConfigurationInterface(configurationName); 00063 // 00064 // if(configurations->findKOC(*theConfigurationGroupKey_,configurationName)) 00065 // { 00066 // theInterface_->get(interfaceConfiguration_, configurationName, theConfigurationGroupKey_, configurations); 00067 // } 00068 // 00069 // std::unique_ptr<FEVInterface> theFEWInterface = makeInterface(interfaceName, feId_, (FEInterfaceConfigurationBase*)interfaceConfiguration_); 00070 00072 00073 return 0; 00074 } 00075