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