#ifndef DARK_FUNCTOR_CLASS_1_1_2007__ #define DARK_FUNCTOR_CLASS_1_1_2007__ /** @file DarkFunctor.h @author Brian Magill @date 1/01/2007 $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 Removes the dark current from the signals */ #include #include #include #include "MultiSignal.h" #include "GenTransform.hpp" #include "DarkSigParam.h" #include "CheckDarkAbstract.h" class DarkFunctor:public GenTransform { private: CheckDarkAbstract *checkDetect; CheckDarkAbstract *checkDiff; mutable std::vector darkParam; public: DarkFunctor():checkDetect(0), checkDiff(0), darkParam(0) { }; DarkFunctor(CheckDarkAbstract *det, CheckDarkAbstract *dif): checkDetect(det), checkDiff(dif), darkParam(0) { }; DarkFunctor(DarkFunctor const &rhs):checkDetect(rhs.checkDetect), checkDiff(rhs.checkDiff), darkParam(rhs.darkParam) { }; DarkFunctor const & operator = (DarkFunctor const &rhs) { if(&rhs == this) return *this; checkDetect = rhs.checkDetect; checkDiff = rhs.checkDiff; darkParam = rhs.darkParam; return *this; } ~DarkFunctor() { }; MultiSignal operator() (MultiSignal const &in) const; std::vector getParam( ) {return darkParam; }; }; #endif