Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:36

0001 // -*- C++ -*-
0002 //
0003 // Package:     Core
0004 // Class  :     FWConfigurableParameterizable
0005 //
0006 // Implementation:
0007 //     <Notes on implementation>
0008 //
0009 // Original Author:  Chris Jones
0010 //         Created:  Sun Mar 16 12:01:36 EDT 2008
0011 //
0012 
0013 // system include files
0014 
0015 // user include files
0016 #include "Fireworks/Core/interface/FWConfigurableParameterizable.h"
0017 #include "Fireworks/Core/interface/FWParameterBase.h"
0018 #include "Fireworks/Core/interface/FWConfiguration.h"
0019 #include <cassert>
0020 
0021 //
0022 // constants, enums and typedefs
0023 //
0024 
0025 //
0026 // static data member definitions
0027 //
0028 
0029 //
0030 // constructors and destructor
0031 //
0032 FWConfigurableParameterizable::FWConfigurableParameterizable(unsigned int iVersion) : m_version(iVersion) {}
0033 
0034 // FWConfigurableParameterizable::FWConfigurableParameterizable(const FWConfigurableParameterizable& rhs)
0035 // {
0036 //    // do actual copying here;
0037 // }
0038 
0039 FWConfigurableParameterizable::~FWConfigurableParameterizable() {}
0040 
0041 //
0042 // assignment operators
0043 //
0044 // const FWConfigurableParameterizable& FWConfigurableParameterizable::operator=(const FWConfigurableParameterizable& rhs)
0045 // {
0046 //   //An exception safe implementation is
0047 //   FWConfigurableParameterizable temp(rhs);
0048 //   swap(rhs);
0049 //
0050 //   return *this;
0051 // }
0052 
0053 //
0054 // member functions
0055 //
0056 void FWConfigurableParameterizable::setFrom(const FWConfiguration& iFrom) {
0057   //need a way to handle versioning
0058   assert(iFrom.version() == m_version);
0059   for (const_iterator it = begin(), itEnd = end(); it != itEnd; ++it) {
0060     (*it)->setFrom(iFrom);
0061   }
0062 }
0063 
0064 //
0065 // const member functions
0066 //
0067 void FWConfigurableParameterizable::addTo(FWConfiguration& oTo) const {
0068   for (const_iterator it = begin(), itEnd = end(); it != itEnd; ++it) {
0069     (*it)->addTo(oTo);
0070   }
0071 }
0072 
0073 //
0074 // static member functions
0075 //