Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

ModuleConfiguration.cpp

00001 #include "ModuleConfiguration.h"
00002 #include <string>
00003 #include <algorithm>
00004 #include "Sct/SctParameters.h"
00005 
00006 using std::string;
00007 using namespace Sct;
00008 
00009 namespace SctData {
00010     
00011 ModuleConfiguration::ModuleConfiguration() throw() {
00012     //Initialize ABCDModule
00013     std::fill_n((char*)&configuration, sizeof(configuration), 0);
00014     
00015     for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00016     shared_ptr<ChipConfiguration> chipConfig (new ChipConfiguration(configuration.chip[i]));
00017     chipConfigs.push_back(chipConfig);
00018     }
00019 }
00020 
00021 ModuleConfiguration::~ModuleConfiguration() throw() {    
00022 }
00023 
00024 ModuleConfiguration::ModuleConfiguration(const ModuleConfiguration& config) throw() {
00025     this->configuration = config.configuration;
00026     
00027     for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00028     shared_ptr<ChipConfiguration> chipConfig (new ChipConfiguration(configuration.chip[i]));
00029     chipConfigs.push_back(chipConfig);
00030     }    
00031 }
00032 
00033 ModuleConfiguration& ModuleConfiguration::operator=(const ModuleConfiguration& config) throw() {
00034     this->configuration = config.configuration;    
00035     return *this;
00036 }
00037 
00038 bool ModuleConfiguration::channelIsMasked(const unsigned int ichannel) const throw(){
00039     return getChipConfiguration(ichannel/nChannelChip).isMasked(ichannel%nChannelChip);
00040 }
00041 
00042 
00043 string ModuleConfiguration::getClassName() const throw() {
00044     return string("SctData::ModuleConfiguration");
00045 }   
00046 
00047 ChipConfiguration& ModuleConfiguration::getChipConfiguration(const unsigned int chip) throw() {
00048     return *chipConfigs[chip];
00049 }
00050 
00051 const ChipConfiguration& ModuleConfiguration::getChipConfiguration(const unsigned int chip) const throw() {
00052     return *chipConfigs[chip];
00053 }
00054  
00055 const ABCDModule& ModuleConfiguration::getABCDModule() const {
00056     return configuration;
00057 }
00058 
00059 ABCDModule& ModuleConfiguration::getABCDModule() {
00060     return configuration;
00061 }
00062 
00063 }
00064 

Generated on Thu Jul 15 09:50:48 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5