Nymph  v1.5.2
Flow-Based Data Processing Framework
TestCut.cc
Go to the documentation of this file.
1 /*
2  * TestCut.cc
3  *
4  * Created on: Sep 29, 2014
5  * Author: nsoblath
6  */
7 
8 #include "KTTestCuts.hh"
9 
10 #include "KTLogger.hh"
11 
12 KTLOGGER(testlog, "TestCut");
13 
14 using namespace Nymph;
15 using namespace std;
16 
17 int main()
18 {
19  KTData data;
20  KTTestData& testData = data.Of< KTTestData >();
21 
22  KTCutStatus& cutStatus = data.GetCutStatus();
23  KTINFO(testlog, "Initial cut state: " << cutStatus.IsCut());
24 
25  KTINFO(testlog, "Applying awesome cut");
26  KTAwesomeCut cut;
27  cut.Apply(data, testData);
28 
29  KTINFO(testlog, "Cuts present: " << cutStatus.CutResultsPresent())
30  KTINFO(testlog, "Has cut result \"awesome-cut\"? " << cutStatus.HasCutResult("awesome-cut"));
31  KTINFO(testlog, "Has cut result <KTAwesomeCut::Result>? " << cutStatus.HasCutResult< KTAwesomeCut::Result >());
32  KTINFO(testlog, "Cut state of \"awesome-cut\" is: " << cutStatus.GetCutState("awesome-cut"));
33  KTINFO(testlog, "Cut state of <KTAwesomeCut::Result> is: " << cutStatus.GetCutState< KTAwesomeCut::Result >());
34  KTINFO(testlog, "Is cut (all results)? " << cutStatus.IsCut());
35  KTINFO(testlog, "Is cut (with mask \"0\")? " << cutStatus.IsCut("0"));
36 
37  KTINFO(testlog, "Applying not-awesome cut");
38  KTNotAwesomeCut naCut;
39  naCut.Apply(data, testData);
40 
41  KTINFO(testlog, "Cuts present: " << cutStatus.CutResultsPresent())
42  KTINFO(testlog, "Has cut result \"awesome-cut\"? " << cutStatus.HasCutResult("awesome-cut"));
43  KTINFO(testlog, "Has cut result <KTAwesomeCut::Result>? " << cutStatus.HasCutResult< KTAwesomeCut::Result >());
44  KTINFO(testlog, "Cut state of \"awesome-cut\" is: " << cutStatus.GetCutState("awesome-cut"));
45  KTINFO(testlog, "Cut state of <KTAwesomeCut::Result> is: " << cutStatus.GetCutState< KTAwesomeCut::Result >());
46  KTINFO(testlog, "Has cut result \"not-awesome-cut\"? " << cutStatus.HasCutResult("not-awesome-cut"));
47  KTINFO(testlog, "Has cut result <KTNotAwesomeCut::Result>? " << cutStatus.HasCutResult< KTNotAwesomeCut::Result >());
48  KTINFO(testlog, "Cut state of \"not-awesome-cut\" is: " << cutStatus.GetCutState("not-awesome-cut"));
49  KTINFO(testlog, "Cut state of <KTNotAwesomeCut::Result> is: " << cutStatus.GetCutState< KTNotAwesomeCut::Result >());
50  KTINFO(testlog, "Is cut (all results)? " << cutStatus.IsCut());
51  KTINFO(testlog, "Is cut with mask \"00\"? " << cutStatus.IsCut("00"));
52  KTINFO(testlog, "Is cut with mask \"01\"? " << cutStatus.IsCut("01"));
53  KTINFO(testlog, "Is cut with mask \"10\"? " << cutStatus.IsCut("10"));
54  KTINFO(testlog, "Is cut with mask \"11\"? " << cutStatus.IsCut("11"));
55  KTINFO(testlog, "Is cut with mask 0? " << cutStatus.IsCut(0));
56  KTINFO(testlog, "Is cut with mask 1? " << cutStatus.IsCut(1));
57  KTINFO(testlog, "Is cut with mask 2? " << cutStatus.IsCut(2));
58  KTINFO(testlog, "Is cut with mask 3? " << cutStatus.IsCut(3));
59 
60  return 0;
61 }
#define KTINFO(...)
Definition: KTLogger.hh:344
STL namespace.
KTLOGGER(testlog, "TestCut")
Provides easy access to cut information.
Definition: KTCutStatus.hh:54
XStructType & Of(void)
Returns a reference to the object of type XStructType; creates that object if it doesn&#39;t exist...
bool Apply(KTData &data, KTTestData &testData)
Definition: KTTestCuts.cc:46
int main()
Definition: TestCut.cc:17
Contains the logger class and macros, based on Kasper&#39;s KLogger class.
bool Apply(KTData &data, KTTestData &testData)
Definition: KTTestCuts.cc:68