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
00030
00031
00032 #include "StEmcCollection.h"
00033 #include "StEmcDetector.h"
00034
00035 ClassImp(StEmcCollection)
00036
00037 static const char rcsid[] = "$Id: StEmcCollection.cxx,v 2.6 2004/03/26 21:54:15 ullrich Exp $";
00038
00039 StEmcCollection::StEmcCollection() {
00040 for(int i=0; i<8; i++) mDetector[i] = 0;
00041 mBemcRawData =0;
00042 mEemcRawData =0;
00043 }
00044
00045 StEmcCollection::~StEmcCollection(){
00046 for(int i=0; i<8; i++)
00047 if(mDetector[i])
00048 delete mDetector[i];
00049 if(mBemcRawData) delete mBemcRawData;
00050 if(mEemcRawData) delete mEemcRawData;
00051 }
00052
00053 const StEmcDetector*
00054 StEmcCollection::detector(StDetectorId id) const
00055 {
00056 if(id >= kBarrelEmcTowerId && id <= kEndcapSmdVStripId)
00057 return mDetector[id-kBarrelEmcTowerId];
00058 else
00059 return 0;
00060 }
00061
00062 StEmcDetector*
00063 StEmcCollection::detector(StDetectorId id)
00064 {
00065 if(id >= kBarrelEmcTowerId && id <= kEndcapSmdVStripId)
00066 return mDetector[id-kBarrelEmcTowerId];
00067 else
00068 return 0;
00069 }
00070
00071 void
00072 StEmcCollection::setDetector(StEmcDetector* val)
00073 {
00074 if (val) {
00075 unsigned int id = val->detectorId();
00076 if (id >= kBarrelEmcTowerId && id <= kEndcapSmdVStripId) {
00077 if (mDetector[id-kBarrelEmcTowerId]) delete mDetector[id-kBarrelEmcTowerId];
00078 mDetector[id-kBarrelEmcTowerId] = val;
00079 }
00080 }
00081 }
00082
00083 const StSPtrVecEmcPoint&
00084 StEmcCollection::barrelPoints() const { return mBarrel; }
00085
00086 StSPtrVecEmcPoint&
00087 StEmcCollection::barrelPoints() { return mBarrel; }
00088
00089 const StSPtrVecEmcPoint&
00090 StEmcCollection::endcapPoints() const { return mEndcap; }
00091
00092 StSPtrVecEmcPoint&
00093 StEmcCollection::endcapPoints() { return mEndcap; }
00094
00095 void
00096 StEmcCollection::addBarrelPoint(const StEmcPoint* p){mBarrel.push_back(p);}
00097
00098 void
00099 StEmcCollection::addEndcapPoint(const StEmcPoint* p){mEndcap.push_back(p);}
00100
00101 StEmcRawData*
00102 StEmcCollection::bemcRawData() { return mBemcRawData;}
00103
00104 StEmcRawData*
00105 StEmcCollection::eemcRawData() { return mEemcRawData;}
00106
00107 void StEmcCollection::setBemcRawData(StEmcRawData* data) { mBemcRawData = data;}
00108 void StEmcCollection::setEemcRawData(StEmcRawData* data) { mEemcRawData = data;}