/** @file TestOutputSummary.cpp @author Brian Magill @creation date 9/13/2006 $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. */ #include #include #include #include #include #include "ConfigFile.h" #include "GATS_Exception.h" #include "Event.h" #include "SignalCorrection.h" #include "SOFIE_namespace.h" using namespace std; int FillTime_N_Signals(EventVar &outTime, EventVarVect & outSignal); int PrintTime_N_Signals(EventVar &outTime, EventVarVect & outSignal); int main() { Event L0; Event L1; Event Tmp(50); ConfigFile configB("SignalCorrection.ini"); EventVar timeArrayIn; EventVar timeArrayOut; EventVarVect SignalsIn; EventVarVect SignalsOut; const string MODULE_NAME = "SignalCorrection"; FillTime_N_Signals(timeArrayIn, SignalsIn); cout << "Input time & signals: " << endl; PrintTime_N_Signals(timeArrayIn, SignalsIn); timeArrayIn.setName("Tmp_DetectorTimes"); Tmp.addEventVar(timeArrayIn); SignalsIn.setName("Tmp_TimeShiftedSignals"); Tmp.addEventVar(SignalsIn); cout << "AbortForBadData = " << configB.GetInt(MODULE_NAME, "AbortForBadData") << endl; cout << "Check_Infinity = " << configB.GetInt(MODULE_NAME, "Check_Infinity") << endl; if (SignalCorrection(L0, L1, Tmp, configB) ) { cerr << "SignalCorrection failed !" << endl; return -1; } L1.getEventVar("Final_Signal_Time", timeArrayOut); L1.getEventVar("Corrected_Signals", SignalsOut); cout << endl; cout << "Output time & signals: " << endl; PrintTime_N_Signals(timeArrayOut, SignalsOut); return 0; }; int PrintTime_N_Signals(EventVar &outTime, EventVarVect & outSignal) { unsigned long i; unsigned long j; const unsigned long DetectorNumber = SOFIE::tot_det_signals; unsigned long N = outTime.size(); for (i = 0; i < N; i++) { cout << outTime[i]; for(j = 0; j < DetectorNumber; j++) { cout << ",\t" < &outTime, EventVarVect & outSignal) { const unsigned long DetectorNumber = SOFIE::tot_det_signals; unsigned long i; unsigned long j; unsigned long N = 10; EventVar workVar(N); outTime.resize(N); outTime.setName("Signal Times"); for (i = 0; i < N; i++) { outTime[i] = 0.1*i; } outTime[N/2] = 1/0.; for(j = SOFIE::O3_strong; j <= SOFIE::NO_diff; j++) { for (i = 0; i < N; i++) { workVar[i] = j*1000.0 + i + 0.1; } if(j == 1) workVar[3] = log(0.); if(j == 12) workVar[1] = sqrt(-1.); outSignal.addEventVar(workVar); } return 0; };