CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/Fireworks/Core/src/FWConfigurableParameterizable.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:     Core
00004 // Class  :     FWConfigurableParameterizable
00005 //
00006 // Implementation:
00007 //     <Notes on implementation>
00008 //
00009 // Original Author:  Chris Jones
00010 //         Created:  Sun Mar 16 12:01:36 EDT 2008
00011 // $Id: FWConfigurableParameterizable.cc,v 1.4 2010/06/18 10:17:15 yana Exp $
00012 //
00013 
00014 // system include files
00015 
00016 // user include files
00017 #include "Fireworks/Core/interface/FWConfigurableParameterizable.h"
00018 #include "Fireworks/Core/interface/FWParameterBase.h"
00019 #include "Fireworks/Core/interface/FWConfiguration.h"
00020 
00021 //
00022 // constants, enums and typedefs
00023 //
00024 
00025 //
00026 // static data member definitions
00027 //
00028 
00029 //
00030 // constructors and destructor
00031 //
00032 FWConfigurableParameterizable::FWConfigurableParameterizable(unsigned int iVersion) :
00033    m_version(iVersion)
00034 {
00035 }
00036 
00037 // FWConfigurableParameterizable::FWConfigurableParameterizable(const FWConfigurableParameterizable& rhs)
00038 // {
00039 //    // do actual copying here;
00040 // }
00041 
00042 FWConfigurableParameterizable::~FWConfigurableParameterizable()
00043 {
00044 }
00045 
00046 //
00047 // assignment operators
00048 //
00049 // const FWConfigurableParameterizable& FWConfigurableParameterizable::operator=(const FWConfigurableParameterizable& rhs)
00050 // {
00051 //   //An exception safe implementation is
00052 //   FWConfigurableParameterizable temp(rhs);
00053 //   swap(rhs);
00054 //
00055 //   return *this;
00056 // }
00057 
00058 //
00059 // member functions
00060 //
00061 void
00062 FWConfigurableParameterizable::setFrom(const FWConfiguration& iFrom)
00063 {
00064    //need a way to handle versioning
00065    assert(iFrom.version() == m_version);
00066    for(const_iterator it =begin(), itEnd = end();
00067        it != itEnd;
00068        ++it) {
00069       (*it)->setFrom(iFrom);
00070    }
00071 }
00072 
00073 //
00074 // const member functions
00075 //
00076 void
00077 FWConfigurableParameterizable::addTo(FWConfiguration& oTo) const
00078 {
00079    for(const_iterator it =begin(), itEnd = end();
00080        it != itEnd;
00081        ++it) {
00082       (*it)->addTo(oTo);
00083    }
00084 }
00085 
00086 //
00087 // static member functions
00088 //