00001 #include "StMuRpsCollection.h"
00002 #include "StEvent/StRpsCollection.h"
00003 #include "StEvent/StRpsRomanPot.h"
00004 #include "StEvent/StRpsPlane.h"
00005 #include "StEvent/StRpsCluster.h"
00006
00007 ClassImp(StMuRpsCollection)
00008
00009 StMuRpsCollection::StMuRpsCollection(const StRpsCollection & rps){
00010
00011 mSiliconBunch = rps.siliconBunch();
00012
00013 for(int i=0;i<mNumberOfRomanPot;i++){
00014
00015 mNumberPlanesWithClusters[i] = rps.romanPot(i)->numberOfPlanesWithClusters();
00016 mStatusRomanPot[i] = rps.romanPot(i)->status();
00017 mADC[i][0] = rps.romanPot(i)->adc(0);
00018 mADC[i][1] = rps.romanPot(i)->adc(1);
00019 mTAC[i][0] = rps.romanPot(i)->tac(0);
00020 mTAC[i][1] = rps.romanPot(i)->tac(1);
00021
00022 for(int j=0;j<mNumberOfPlanes;j++){
00023
00024 mOffsetPlane[i][j] = rps.romanPot(i)->plane(j)->offset();
00025 mzPlane[i][j] = rps.romanPot(i)->plane(j)->z();
00026 mAnglePlane[i][j] = rps.romanPot(i)->plane(j)->angle();
00027 mOrientationPlane[i][j] = rps.romanPot(i)->plane(j)->orientation();
00028 mStatusPlane[i][j] = rps.romanPot(i)->plane(j)->status();
00029 mNumberOfClusters[i][j] = rps.romanPot(i)->plane(j)->numberOfClusters();
00030
00031 for(int k=0;k<mNumberOfClusters[i][j];k++){
00032
00033 mPositionCluster[i][j].push_back(rps.romanPot(i)->plane(j)->cluster(k)->position());
00034 mLengthCluster[i][j].push_back(rps.romanPot(i)->plane(j)->cluster(k)->length());
00035 mEnergyCluster[i][j].push_back(rps.romanPot(i)->plane(j)->cluster(k)->energy());
00036 mXYCluster[i][j].push_back(rps.romanPot(i)->plane(j)->cluster(k)->xy());
00037 mQualityCluster[i][j].push_back(rps.romanPot(i)->plane(j)->cluster(k)->quality());
00038
00039 }
00040 }
00041 }
00042
00043 }