00001 #include "StEEmcMixEvent.h"
00002 ClassImp(StEEmcMixEvent);
00003
00004
00005 StEEmcMixEvent::StEEmcMixEvent()
00006 {
00007
00008 mRealPairs = new TClonesArray("StEEmcPair",500);
00009 mMixedPairs = new TClonesArray("StEEmcPair",500);
00010 mPoints = new TClonesArray("StEEmcPoint",500);
00011 mTowers = new TClonesArray("StEEmcTower",720);
00012
00013 mClustersU = new TClonesArray("StEEmcSmdCluster",20);
00014 mClustersV = new TClonesArray("StEEmcSmdCluster",20);
00015
00016 Clear();
00017 }
00018
00019
00020 void StEEmcMixEvent::setEvent( StMuEvent *event )
00021 {
00022
00023 mEventId = event->eventId();
00024 mEventNumber = event->eventNumber();
00025 mRunId = event->runId();
00026 mRunNumber = event->runNumber();
00027 mEventInfo = event->eventInfo();
00028 mRunInfo = event->runInfo();
00029 mMuTriggerIdCollection = event->triggerIdCollection();
00030 mL0trigger = event->l0Trigger();
00031 mMagneticField = event->magneticField();
00032
00033 }
00034
00035
00036
00037 void StEEmcMixEvent::Clear(Option_t *o)
00038 {
00039 mRealPairs->Delete();
00040 mMixedPairs->Delete();
00041 mPoints->Delete();
00042 mClustersU->Delete();
00043 mClustersV->Delete();
00044
00045 nReal=0;
00046 nMixed=0;
00047 nPoints=0;
00048 nClustersU=0;
00049 nClustersV=0;
00050
00051 mEtotal=0.;
00052 mEpoints=0.;
00053 }
00054
00055
00056 void StEEmcMixEvent::addPoint( StEEmcPoint p ) {
00057 TClonesArray &points=*mPoints;
00058 new(points[nPoints++]) StEEmcPoint(p);
00059 mEpoints+=p.energy();
00060 }
00061 void StEEmcMixEvent::addPair ( StEEmcPair p ) {
00062 TClonesArray &pairs=*mRealPairs;
00063 new(pairs[nReal++]) StEEmcPair(p);
00064 }
00065 void StEEmcMixEvent::addMixed( StEEmcPair p ) {
00066 TClonesArray &mixed=*mMixedPairs;
00067 new(mixed[nMixed++]) StEEmcPair(p);
00068 }
00069 void StEEmcMixEvent::addTower( StEEmcTower t ) {
00070 TClonesArray &towers=*mTowers;
00071 new(towers[nTowers++]) StEEmcTower(t);
00072 }
00073
00074 void StEEmcMixEvent::addCluster( StEEmcSmdCluster c )
00075 {
00076 if ( c.plane()==0 )
00077 {
00078 TClonesArray &clusters=*mClustersU;
00079 new (clusters[nClustersU++]) StEEmcSmdCluster(c);
00080 }
00081 else
00082 {
00083 TClonesArray &clusters=*mClustersV;
00084 new (clusters[nClustersV++]) StEEmcSmdCluster(c);
00085 }
00086
00087 }