#ifndef SETUP_NONLINEARITY_CORRECTION_4_22_2008 #define SETUP_NONLINEARITY_CORRECTION_4_22_2008 /** @class SetUpNonLin.h @author Brian Magill @creation date 4/22/2008 $Date:$ $Revision:$ @copyright (©) Copyright 2006 by GATS Inc. 11864 Canon Blvd., Suite 101, Newport News, VA 23606 All Rights Reserved. No part of this software or publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without the prior written permission of GATS Inc. @brief Sets up the input parameters for the nonlinearity correction */ #include #include #include #include "ConfigFile.h" //#include "SetUpNonLinParam.h" class SetUpNonLin { private: std::vector strongCoef; std::vector weakCoef; public: SetUpNonLin():strongCoef(0), weakCoef(0) { } SetUpNonLin(std::vector const &strong, std::vector const &weak):strongCoef(strong), weakCoef(weak) {assert(strongCoef.size() == weakCoef.size());} SetUpNonLin(ConfigFile &cf, std::string name = "NonlinearitySetup"); SetUpNonLin(SetUpNonLin const &rhs):strongCoef(rhs.strongCoef), weakCoef(rhs.weakCoef) { } SetUpNonLin const & operator = (const SetUpNonLin &rhs) { if (this == &rhs) return *this; strongCoef = rhs.strongCoef; weakCoef = rhs.weakCoef; return *this; } ~SetUpNonLin() { } // SetUpNonLinParam operator()( ) const; double getStrong(int indx) const {return strongCoef.at(indx); } double getWeak(int indx) const {return weakCoef.at(indx); } unsigned long size() const {return strongCoef.size(); } }; #endif