CbmRoot
Loading...
Searching...
No Matches
_GTestTimeClusterTrigger.cxx
Go to the documentation of this file.
1/* Copyright (C) 2016-2017 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Dominik Smith [committer] */
4
6#include "gtest/gtest-spi.h"
7#include "gtest/gtest.h"
8
9using namespace cbm::algo::evbuild;
10
11TEST(_GTestTimeClusterTrigger, CheckTriggerAlgorithmSimple)
12{
13 SCOPED_TRACE("CheckTriggerAlgorithSimple");
14
15 const uint nInput = 1000.;
16 const double inputSpacing = 10.0;
17 const double deadTime = 5.;
18 const double windowSize = 1000.;
19 const uint nMinNumber = 100;
20
21 TimeClusterTrigger trigger(windowSize, nMinNumber, deadTime);
22
23 std::vector<double> dataIn;
24 for (uint i = 0; i < nInput; i++) {
25 dataIn.push_back(i * inputSpacing);
26 }
27
28 TimeClusterTrigger::resultType result = trigger(dataIn);
29 std::vector<double>& dataOut = result.first;
30 TimeClusterTriggerMonitorData& monitor = result.second;
31
32 EXPECT_EQ(dataOut.size(), 10);
33
34 for (uint i = 0; i < dataOut.size(); i++) {
35 EXPECT_EQ(dataOut[i], 495. + i * 1000.);
36 }
37
38 EXPECT_EQ(dataIn.size(), monitor.num);
39 EXPECT_EQ(nMinNumber * dataOut.size(), monitor.numInTrigger);
40}
TEST(_GTestTimeClusterTrigger, CheckTriggerAlgorithmSimple)
Finds clusters in time-series data.
std::pair< std::vector< double >, TimeClusterTriggerMonitorData > resultType
Monitoring data for time cluster trigger algorithm.
size_t numInTrigger
Time stamps used for trigger building.