CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/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.5 2012/09/21 09:26:26 eulisse 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 #include <cassert>
00021 
00022 //
00023 // constants, enums and typedefs
00024 //
00025 
00026 //
00027 // static data member definitions
00028 //
00029 
00030 //
00031 // constructors and destructor
00032 //
00033 FWConfigurableParameterizable::FWConfigurableParameterizable(unsigned int iVersion) :
00034    m_version(iVersion)
00035 {
00036 }
00037 
00038 // FWConfigurableParameterizable::FWConfigurableParameterizable(const FWConfigurableParameterizable& rhs)
00039 // {
00040 //    // do actual copying here;
00041 // }
00042 
00043 FWConfigurableParameterizable::~FWConfigurableParameterizable()
00044 {
00045 }
00046 
00047 //
00048 // assignment operators
00049 //
00050 // const FWConfigurableParameterizable& FWConfigurableParameterizable::operator=(const FWConfigurableParameterizable& rhs)
00051 // {
00052 //   //An exception safe implementation is
00053 //   FWConfigurableParameterizable temp(rhs);
00054 //   swap(rhs);
00055 //
00056 //   return *this;
00057 // }
00058 
00059 //
00060 // member functions
00061 //
00062 void
00063 FWConfigurableParameterizable::setFrom(const FWConfiguration& iFrom)
00064 {
00065    //need a way to handle versioning
00066    assert(iFrom.version() == m_version);
00067    for(const_iterator it =begin(), itEnd = end();
00068        it != itEnd;
00069        ++it) {
00070       (*it)->setFrom(iFrom);
00071    }
00072 }
00073 
00074 //
00075 // const member functions
00076 //
00077 void
00078 FWConfigurableParameterizable::addTo(FWConfiguration& oTo) const
00079 {
00080    for(const_iterator it =begin(), itEnd = end();
00081        it != itEnd;
00082        ++it) {
00083       (*it)->addTo(oTo);
00084    }
00085 }
00086 
00087 //
00088 // static member functions
00089 //