00001
00002
00003
00004
00005
00006
00007
00008 #include "StEmcMicroCollection.h"
00009
00010 ClassImp(StEmcMicroCollection)
00011
00012 StEmcMicroCollection::StEmcMicroCollection()
00013 {
00014 mEmcPoints=new TObjArray();
00015 for(Int_t i=0;i<4;i++)
00016 {
00017 mEmcHits[i]=new TObjArray();
00018 mEmcClusters[i]=new TObjArray();
00019 }
00020 }
00021 StEmcMicroCollection::~StEmcMicroCollection()
00022 {
00023 clear();
00024 for(Int_t i=0;i<4;i++)
00025 {
00026 delete mEmcHits[i]; mEmcHits[i]=NULL;
00027 delete mEmcClusters[i]; mEmcClusters[i]=NULL;
00028 }
00029 delete mEmcPoints;
00030 }
00031 void StEmcMicroCollection::clear(Option_t *option)
00032 {
00033
00034 for(Int_t i=0;i<getNPoints();i++)
00035 {
00036 StEmcMicroPoint *point = getPoint(i);
00037 if(point) delete point;
00038 }
00039
00040 for(Int_t d=0;d<4;d++)
00041 {
00042 Int_t EmcDet=d+1;
00043 for(Int_t i=0; i<getNClusters(EmcDet);i++)
00044 {
00045 StEmcMicroCluster* cluster = getCluster(EmcDet,i);
00046 if(cluster) delete cluster;
00047 }
00048 for(Int_t i=0; i<getNHits(EmcDet);i++)
00049 {
00050 StEmcMicroHit* hit = getHit(EmcDet,i);
00051 if(hit) delete hit;
00052 }
00053 }
00054
00055 for(Int_t i=0;i<4;i++) { mEmcHits[i]->Clear(); mEmcClusters[i]->Clear();}
00056 mEmcPoints->Clear();
00057 return;
00058 }