00001 #include "MyPoint.h"
00002 #include "MyMcTrack.h"
00003
00004 #include "MyEvent.h"
00005
00006 ClassImp(MyEvent)
00007
00008 MyEvent::MyEvent(Int_t run,Int_t ev,Int_t date,Int_t time)
00009 : TObject()
00010 {
00011 fRunId=run;
00012 fEventId=ev;
00013 fDate=date;
00014 fTime=time;
00015 fTrigger=0;
00016 for(UInt_t i=0;i<4;i++) fPrescale[i]=0;
00017 fHiTowAdc=0;
00018 fHiTowId=0;
00019 fHiTowStat=0;
00020 fHiTowEn=0.;
00021 fVertex=TVector3();
00022 fGoodPrimaryTracks=0;
00023 fGoodPrimaryTracksBarrelW=0;
00024 fGoodGlobalTracks=0;
00025 fFtpcRefMultTracks=0;
00026 fCratesCorrupted=0;
00027 fModulesNoHits=0;
00028 fModulesBad=0;
00029 fNumberOfPoints=0;
00030 fNumberOfMcPhotons=0;
00031 fNumberOfMcPions=0;
00032
00033 fEnBarrel=0.;
00034 fTpcPt=0.;
00035 fTpcPtBarrelW=0.;
00036 fZdcSumW=0.;
00037 fZdcSumE=0.;
00038 fZdcVertexZ=0.;
00039 fBbcSumE=0.;
00040 fBbcSumW=0.;
00041 fCtbSum=0.;
00042 fBbcVertexZ=0.;
00043
00044 fWeight=1.;
00045 fPartonPt=0.;
00046
00047 fPointArray=new TClonesArray("MyPoint",10);
00048 fMcPhotonArray=new TClonesArray("MyMcTrack",5);
00049 fMcPionArray=new TClonesArray("MyMcTrack",5);
00050 fMcTrack=new MyMcTrack();
00051 }
00052 MyEvent::MyEvent(const MyEvent& ev)
00053 : TObject(ev)
00054 {
00055 fRunId=ev.fRunId;
00056 fEventId=ev.fEventId;
00057 fDate=ev.fDate;
00058 fTime=ev.fTime;
00059 fTrigger=ev.fTrigger;
00060 for(UInt_t i=0;i<4;i++) fPrescale[i]=ev.fPrescale[i];
00061 fHiTowAdc=ev.fHiTowAdc;
00062 fHiTowId=ev.fHiTowId;
00063 fHiTowStat=ev.fHiTowStat;
00064 fHiTowEn=ev.fHiTowEn;
00065 fVertex=ev.fVertex;
00066 fGoodPrimaryTracks=ev.fGoodPrimaryTracks;
00067 fGoodPrimaryTracksBarrelW=ev.fGoodPrimaryTracksBarrelW;
00068 fGoodGlobalTracks=ev.fGoodGlobalTracks;
00069 fFtpcRefMultTracks=ev.fFtpcRefMultTracks;
00070 fCratesCorrupted=ev.fCratesCorrupted;
00071 fModulesNoHits=ev.fModulesNoHits;
00072 fModulesBad=ev.fModulesBad;
00073 fNumberOfPoints=ev.fNumberOfPoints;
00074 fNumberOfMcPhotons=ev.fNumberOfMcPhotons;
00075 fNumberOfMcPions=ev.fNumberOfMcPions;
00076
00077 fEnBarrel=ev.fEnBarrel;
00078 fTpcPt=ev.fTpcPt;
00079 fTpcPtBarrelW=ev.fTpcPtBarrelW;
00080 fZdcSumW=ev.fZdcSumW;
00081 fZdcSumE=ev.fZdcSumE;
00082 fZdcVertexZ=ev.fZdcVertexZ;
00083 fBbcSumE=ev.fBbcSumE;
00084 fBbcSumW=ev.fBbcSumW;
00085 fCtbSum=ev.fCtbSum;
00086 fBbcVertexZ=ev.fBbcVertexZ;
00087
00088 fWeight=ev.fWeight;
00089 fPartonPt=ev.fPartonPt;
00090
00091 fPointArray=new TClonesArray(*ev.fPointArray);
00092 fMcPhotonArray=new TClonesArray(*ev.fMcPhotonArray);
00093 fMcPionArray=new TClonesArray(*ev.fMcPionArray);
00094 fMcTrack=new MyMcTrack(*ev.fMcTrack);
00095 }
00096 MyEvent::~MyEvent()
00097 {
00098 delete fPointArray;
00099 delete fMcPhotonArray;
00100 delete fMcPionArray;
00101 delete fMcTrack;
00102 }
00103
00104 void MyEvent::addPoint(MyPoint *point)
00105 {
00106 if(point){
00107 TClonesArray &pointArray=*fPointArray;
00108 new(pointArray[fNumberOfPoints++]) MyPoint(point);
00109 }
00110 return;
00111 }
00112 void MyEvent::addMcPhoton(MyMcTrack *tr)
00113 {
00114 if(tr){
00115 TClonesArray &gammaArray=*fMcPhotonArray;
00116 new(gammaArray[fNumberOfMcPhotons++]) MyMcTrack(tr);
00117 }
00118 return;
00119 }
00120 void MyEvent::addMcPion(MyMcTrack *tr)
00121 {
00122 if(tr){
00123 TClonesArray &pionArray=*fMcPionArray;
00124 new(pionArray[fNumberOfMcPions++]) MyMcTrack(tr);
00125 }
00126 return;
00127 }
00128 void MyEvent::setMcTrack(MyMcTrack *tr)
00129 {
00130 if(tr){
00131 fMcTrack=new MyMcTrack(tr);
00132 }
00133 return;
00134 }
00135