00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "StTpcHitCollection.h"
00030 #include "StTpcPadrowHitCollection.h"
00031 #include "StTpcHit.h"
00032
00033 static const char rcsid[] = "$Id: StTpcHitCollection.cxx,v 2.5 2009/11/23 16:34:07 fisyak Exp $";
00034
00035 ClassImp(StTpcHitCollection)
00036
00037 StTpcHitCollection::StTpcHitCollection() { }
00038
00039 StTpcHitCollection::~StTpcHitCollection() { }
00040
00041 bool
00042 StTpcHitCollection::addHit(StTpcHit* hit)
00043 {
00044 unsigned int s, r;
00045 if (hit &&
00046 (s = hit->sector()-1) < mNumberOfSectors &&
00047 (r = hit->padrow()-1) < mSectors[s].numberOfPadrows()) {
00048 mSectors[s].padrow(r)->hits().push_back(hit);
00049 return kTRUE;
00050 }
00051 else
00052 return kFALSE;
00053 }
00054 unsigned int
00055 StTpcHitCollection::numberOfHits() const
00056 {
00057 unsigned int sum = 0;
00058 for (int i=0; i<mNumberOfSectors; i++) {
00059 for (unsigned int j=0; j<mSectors[i].numberOfPadrows(); j++) {
00060 sum += mSectors[i].padrow(j)->hits().size();
00061 }
00062 }
00063 return sum;
00064 }
00065
00066 StTpcSectorHitCollection*
00067 StTpcHitCollection::sector(unsigned int i)
00068 {
00069 if (i < mNumberOfSectors)
00070 return &(mSectors[i]);
00071 else
00072 return 0;
00073 }
00074
00075 const StTpcSectorHitCollection*
00076 StTpcHitCollection::sector(unsigned int i) const
00077 {
00078 if (i < mNumberOfSectors)
00079 return &(mSectors[i]);
00080 else
00081 return 0;
00082 }