00001 #ifndef EVENT_LOOP_UNIT_TEST_ALG_H
00002 #define EVENT_LOOP_UNIT_TEST_ALG_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00016
00017
00018
00019 #include <EventLoop/Global.h>
00020
00021 #include <EventLoop/Algorithm.h>
00022
00023 class TBranch;
00024 class TH1;
00025 class TTree;
00026
00027 namespace EL
00028 {
00029 class UnitTestAlg : public Algorithm
00030 {
00031
00032
00033
00034
00037 public:
00038 void testInvariant () const;
00039
00040
00045 public:
00046 UnitTestAlg (const std::string& branchName = "el_n");
00047
00048
00050 public:
00051 bool makeOutput;
00052
00053
00054
00055
00056
00057
00058
00067 private:
00068 virtual StatusCode setupJob (Job& job) override;
00069
00070
00076 private:
00077 virtual StatusCode changeInput (bool firstFile) override;
00078
00079
00090 private:
00091 virtual StatusCode initialize () override;
00092
00093 private:
00094 virtual StatusCode histInitialize () override;
00095
00096
00101 private:
00102 virtual StatusCode execute () override;
00103
00104
00111 private:
00112 virtual StatusCode fileExecute () override;
00113
00114
00122 private:
00123 virtual StatusCode finalize () override;
00124
00125
00132 private:
00133 virtual StatusCode histFinalize () override;
00134
00135
00136
00137
00138
00139
00140
00142 private:
00143 std::string m_name;
00144
00146 private:
00147 TBranch *m_branch;
00148
00150 private:
00151 Int_t m_value;
00152
00154 private:
00155
00156
00158 private:
00159 TTree *m_tree;
00160
00162 private:
00163 std::string m_fileName;
00164
00166 private:
00167 bool m_hasInitialize;
00168
00170 private:
00171 bool m_hasHistInitialize;
00172
00173 private:
00174 unsigned m_calls = 0;
00175
00176 #pragma GCC diagnostic push
00177 #pragma GCC diagnostic ignored "-Wpragmas"
00178 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
00179 #pragma GCC diagnostic ignored "-Winconsistent-missing-override"
00180 ClassDef(UnitTestAlg, 1);
00181 #pragma GCC diagnostic pop
00182 };
00183 }
00184
00185 #endif