Nymph  v1.5.2
Flow-Based Data Processing Framework
TestApplyCut.cc
Go to the documentation of this file.
1 /*
2  * TestApplyCut.cc
3  *
4  * Created on: Oct 07, 2014
5  * Author: nsoblath
6  */
7 
8 #include "KTTestCuts.hh"
9 
10 #include "KTApplyCut.hh"
11 #include "KTLogger.hh"
12 
13 KTLOGGER(testlog, "TestApplyCut");
14 
15 using namespace Nymph;
16 using namespace std;
17 
18 int main()
19 {
20  KTDataPtr dataPtr(new KTData());
21  KTTestData& testData = dataPtr->Of< KTTestData >();
22 
23  KTCutStatus& cutStatus = dataPtr->GetCutStatus();
24  KTINFO(testlog, "Initial cut state: " << cutStatus.IsCut());
25 
26  KTApplyCut applyCut;
27 
28  KTINFO(testlog, "Applying awesome cut");
29  applyCut.SetCut(new KTAwesomeCut());
30  applyCut.ApplyCut(dataPtr);
31 
32  KTINFO(testlog, "Cuts present: " << cutStatus.CutResultsPresent())
33  KTINFO(testlog, "Has cut result \"awesome-cut\"? " << cutStatus.HasCutResult("awesome-cut"));
34  KTINFO(testlog, "Has cut result <KTAwesomeCut::Result>? " << cutStatus.HasCutResult< KTAwesomeCut::Result >());
35  KTINFO(testlog, "Cut state of \"awesome-cut\" is: " << cutStatus.GetCutState("awesome-cut"));
36  KTINFO(testlog, "Cut state of <KTAwesomeCut::Result> is: " << cutStatus.GetCutState< KTAwesomeCut::Result >());
37  KTINFO(testlog, "Is cut (all results)? " << cutStatus.IsCut());
38  KTINFO(testlog, "Is cut (with mask \"0\")? " << cutStatus.IsCut("0"));
39 
40  KTINFO(testlog, "Applying not-awesome cut");
41  applyCut.SelectCut("not-awesome-cut");
42  applyCut.ApplyCut(dataPtr);
43 
44  KTINFO(testlog, "Cuts present: " << cutStatus.CutResultsPresent())
45  KTINFO(testlog, "Has cut result \"awesome-cut\"? " << cutStatus.HasCutResult("awesome-cut"));
46  KTINFO(testlog, "Has cut result <KTAwesomeCut::Result>? " << cutStatus.HasCutResult< KTAwesomeCut::Result >());
47  KTINFO(testlog, "Cut state of \"awesome-cut\" is: " << cutStatus.GetCutState("awesome-cut"));
48  KTINFO(testlog, "Cut state of <KTAwesomeCut::Result> is: " << cutStatus.GetCutState< KTAwesomeCut::Result >());
49  KTINFO(testlog, "Has cut result \"not-awesome-cut\"? " << cutStatus.HasCutResult("not-awesome-cut"));
50  KTINFO(testlog, "Has cut result <KTNotAwesomeCut::Result>? " << cutStatus.HasCutResult< KTNotAwesomeCut::Result >());
51  KTINFO(testlog, "Cut state of \"not-awesome-cut\" is: " << cutStatus.GetCutState("not-awesome-cut"));
52  KTINFO(testlog, "Cut state of <KTNotAwesomeCut::Result> is: " << cutStatus.GetCutState< KTNotAwesomeCut::Result >());
53  KTINFO(testlog, "Is cut (all results)? " << cutStatus.IsCut());
54  KTINFO(testlog, "Is cut with mask \"00\"? " << cutStatus.IsCut("00"));
55  KTINFO(testlog, "Is cut with mask \"01\"? " << cutStatus.IsCut("01"));
56  KTINFO(testlog, "Is cut with mask \"10\"? " << cutStatus.IsCut("10"));
57  KTINFO(testlog, "Is cut with mask \"11\"? " << cutStatus.IsCut("11"));
58  KTINFO(testlog, "Is cut with mask 0? " << cutStatus.IsCut(0));
59  KTINFO(testlog, "Is cut with mask 1? " << cutStatus.IsCut(1));
60  KTINFO(testlog, "Is cut with mask 2? " << cutStatus.IsCut(2));
61  KTINFO(testlog, "Is cut with mask 3? " << cutStatus.IsCut(3));
62 
63  return 0;
64 }
#define KTINFO(...)
Definition: KTLogger.hh:344
STL namespace.
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...
Contains KTApplyCut.
KTLOGGER(testlog, "TestApplyCut")
Applies a cut to data.
Definition: KTApplyCut.hh:54
boost::shared_ptr< KTData > KTDataPtr
Definition: KTData.hh:67
int main()
Definition: TestApplyCut.cc:18
Contains the logger class and macros, based on Kasper&#39;s KLogger class.