00001
00002 #ifndef STBET4PMAKERIMPTEST_HH
00003 #define STBET4PMAKERIMPTEST_HH
00004
00005 #include <cppunit/extensions/HelperMacros.h>
00006
00007 class StBET4pMakerImpTest : public CPPUNIT_NS::TestFixture
00008 {
00009 CPPUNIT_TEST_SUITE( StBET4pMakerImpTest );
00010 CPPUNIT_TEST( testGetTrackAndEnergyList_withCut );
00011 CPPUNIT_TEST( testGetTrackAndEnergyList_withoutCut );
00012 CPPUNIT_TEST( testMake );
00013 CPPUNIT_TEST_SUITE_END();
00014
00015 public:
00016 void setUp();
00017 void tearDown();
00018
00019 void testGetTrackAndEnergyList_withCut();
00020 void testGetTrackAndEnergyList_withoutCut();
00021 void testMake();
00022
00023 private:
00024
00025 class StjTPCMock : public StjTPC {
00026 public:
00027 StjTPCMock(int n) : _n(n) { }
00028 StjTrackList getTrackList()
00029 {
00030 StjTrackList ret;
00031 for(int i = 0; i < _n; ++i)
00032 ret.push_back(StjTrack());
00033 return ret;
00034 };
00035 private:
00036 int _n;
00037 };
00038
00039 class StjBEMCMock : public StjBEMC {
00040 public:
00041 StjBEMCMock(int n) : _n(n) { }
00042 StjTowerEnergyList getEnergyList()
00043 {
00044 StjTowerEnergyList ret;
00045 for(int i = 0; i < _n; ++i)
00046 ret.push_back(StjTowerEnergy());
00047 return ret;
00048 };
00049 private:
00050 int _n;
00051 };
00052
00053 class StjEEMCMock : public StjEEMC {
00054 public:
00055 StjEEMCMock(int n) : _n(n) { }
00056 StjTowerEnergyList getEnergyList()
00057 {
00058 StjTowerEnergyList ret;
00059 for(int i = 0; i < _n; ++i)
00060 ret.push_back(StjTowerEnergy());
00061 return ret;
00062 };
00063 private:
00064 int _n;
00065 };
00066
00067 class StjTrackCutMock : public StjTrackCut {
00068 bool operator()(const StjTrack& track)
00069 {
00070 return true;
00071 }
00072 };
00073
00074 class StjTowerEnergyCutMock : public StjTowerEnergyCut {
00075 bool operator()(const StjTowerEnergy& energy)
00076 {
00077 return true;
00078 }
00079 };
00080
00081 void assertResults(const char *path);
00082 void writeExpected(const char *path);
00083
00084 StjTPC* tpc;
00085 StjTrackListCut* tpcCut;
00086 StjBEMC* bemc;
00087 StjTowerEnergyListCut *bemcCut;
00088 StjEEMC* eemc;
00089
00090 StjTowerEnergyCorrectionForTracks* corr;
00091 StBET4pMakerImp *imp;
00092
00093 };
00094
00095 #endif // STBET4PMAKERIMPTEST_HH