00001
00002 #include <StjTPCTree.h>
00003 #include "StjTPCTreeTest.hh"
00004
00005 #include <StjTreeEntryCoordinator.h>
00006 #include <StjTreeIndexList.h>
00007
00008 #include <StjTrackListReader.h>
00009
00010 #include <TFile.h>
00011 #include <TTree.h>
00012
00013 #include <iostream>
00014
00015 using namespace std;
00016
00017
00018 CPPUNIT_TEST_SUITE_REGISTRATION( StjTPCTreeTest );
00019
00020 void StjTPCTreeTest::setUp()
00021 {
00022
00023 }
00024
00025 void StjTPCTreeTest::tearDown()
00026 {
00027
00028 }
00029
00030 void StjTPCTreeTest::testGetEntry()
00031 {
00032 TFile* file = new TFile("./part_run6143024.root");
00033
00034 TTree *tree = dynamic_cast<TTree*>(file->Get("tpcTracks"));
00035
00036 StjTrackListReader *reader = new StjTrackListReader(tree);
00037
00038 tree->BuildIndex("runNumber", "eventId");
00039
00040 reader->Init();
00041
00042 StjTPCTree* tpc = new StjTPCTree(reader);
00043
00044 reader->GetEntryWithIndex(6143024, 38);
00045
00046 StjTrackList trackList = tpc->getTrackList();
00047 CPPUNIT_ASSERT_EQUAL( (size_t)13, trackList.size() );
00048 CPPUNIT_ASSERT_EQUAL((Short_t) 87, trackList[0].id );
00049 CPPUNIT_ASSERT_EQUAL((Short_t) 80, trackList[1].id );
00050 CPPUNIT_ASSERT_EQUAL((Short_t) 77, trackList[2].id );
00051 CPPUNIT_ASSERT_EQUAL((Short_t) 76, trackList[3].id );
00052 CPPUNIT_ASSERT_EQUAL((Short_t) 67, trackList[4].id );
00053 CPPUNIT_ASSERT_EQUAL((Short_t) 65, trackList[5].id );
00054 CPPUNIT_ASSERT_EQUAL((Short_t) 51, trackList[6].id );
00055 CPPUNIT_ASSERT_EQUAL((Short_t) 29, trackList[7].id );
00056 CPPUNIT_ASSERT_EQUAL((Short_t) 11, trackList[8].id );
00057 CPPUNIT_ASSERT_EQUAL((Short_t)199, trackList[9].id );
00058 CPPUNIT_ASSERT_EQUAL((Short_t)192, trackList[10].id );
00059 CPPUNIT_ASSERT_EQUAL((Short_t)185, trackList[11].id );
00060 CPPUNIT_ASSERT_EQUAL((Short_t)181, trackList[12].id );
00061
00062
00063 reader->GetEntryWithIndex(6143024, 41);
00064 trackList = tpc->getTrackList();
00065 CPPUNIT_ASSERT_EQUAL( (size_t)0, trackList.size() );
00066
00067 delete tpc;
00068 delete file;
00069 }
00070