#include "TObjArray.h"
#include "AliHFEreducedTrack.h"
#include "AliHFEreducedMCParticle.h"
#include "AliHFEreducedEvent.h"
ClassImp(AliHFEreducedEvent)
AliHFEreducedEvent::AliHFEreducedEvent():
TObject(),
fTracks(NULL),
fMCparticles(NULL),
fNtracks(0),
fNmcparticles(0),
fRunNumber(0),
fTrigger(0),
fSPDMultiplicity(0),
fPileupFlag(kFALSE)
{
fTracks = new TObjArray;
fTracks->SetOwner();
fMCparticles = new TObjArray;
fMCparticles->SetOwner();
memset(fCentrality, 0, sizeof(Float_t) * kCentBuff);
memset(fV0Multiplicity, 0, sizeof(Float_t) * 2);
memset(fZDCEnergy, 0, sizeof(Float_t) * 4);
memset(fVX, 0, sizeof(Float_t)*2);
memset(fVY, 0, sizeof(Float_t)*2);
memset(fVZ, 0, sizeof(Float_t)*2);
memset(fVMC, 0, sizeof(Double_t)*3);
memset(fNContrib, 0, sizeof(Int_t) * 2);
fVertexResolution[1] = 999.;
fVertexResolution[0] = fVertexResolution[1];
fVertexDispersion[0] = 999.;
fVertexDispersion[1] = fVertexDispersion[0];
}
AliHFEreducedEvent::AliHFEreducedEvent(const AliHFEreducedEvent &ref):
TObject(ref),
fTracks(NULL),
fMCparticles(NULL),
fNtracks(ref.fNtracks),
fNmcparticles(ref.fNmcparticles),
fRunNumber(ref.fRunNumber),
fTrigger(ref.fTrigger),
fSPDMultiplicity(ref.fSPDMultiplicity),
fPileupFlag(ref.fPileupFlag)
{
fTracks = new TObjArray;
fTracks->SetOwner();
for(int itrk = 0; itrk < ref.GetNumberOfTracks(); itrk++)
fTracks->Add(new AliHFEreducedTrack(*(ref.GetTrack(itrk))));
fMCparticles = new TObjArray;
fMCparticles->SetOwner();
for(int iprt = 0; iprt < ref.GetNumberOfMCParticles(); iprt++)
fMCparticles->Add(new AliHFEreducedMCParticle(*(ref.GetMCParticle(iprt))));
memcpy(fCentrality, ref.fCentrality, sizeof(Float_t) * kCentBuff);
memcpy(fV0Multiplicity, ref.fV0Multiplicity, sizeof(Float_t) * 2);
memcpy(fZDCEnergy, ref.fZDCEnergy, sizeof(Float_t) *4);
memcpy(fVX, ref.fVX, sizeof(Float_t)*2);
memcpy(fVY, ref.fVY, sizeof(Float_t)*2);
memcpy(fVZ, ref.fVZ, sizeof(Float_t)*2);
memcpy(fVMC, ref.fVMC, sizeof(Double_t)*3);
memcpy(fVertexResolution, ref.fVertexResolution, sizeof(Float_t)*2);
memcpy(fVertexDispersion, ref.fVertexDispersion, sizeof(Float_t)*2);
memcpy(fNContrib, ref.fNContrib, sizeof(Int_t) * 2);
}
AliHFEreducedEvent &AliHFEreducedEvent::operator=(const AliHFEreducedEvent &ref){
if(&ref != this){
TObject::operator=(ref);
fTracks->SetOwner();
fTracks->Clear();
for(int itrk = 0; itrk < ref.GetNumberOfTracks(); itrk++)
fTracks->Add(new AliHFEreducedTrack(*(ref.GetTrack(itrk))));
fMCparticles->Clear();
fMCparticles->SetOwner();
for(int iprt = 0; iprt < ref.GetNumberOfMCParticles(); iprt++)
fMCparticles->Add(new AliHFEreducedMCParticle(*(ref.GetMCParticle(iprt))));
fNtracks = ref.fNtracks;
fNmcparticles = ref.fNmcparticles;
fRunNumber = ref.fRunNumber;
fTrigger = ref.fTrigger;
memcpy(fVX, ref.fVX, sizeof(Float_t)*2);
memcpy(fVY, ref.fVY, sizeof(Float_t)*2);
memcpy(fVZ, ref.fVZ, sizeof(Float_t)*2);
memcpy(fVMC, ref.fVMC, sizeof(Double_t)*3);
memcpy(fNContrib, ref.fNContrib, sizeof(Int_t) * 2);
memcpy(fVertexResolution, ref.fVertexResolution, sizeof(Float_t)*2);
memcpy(fVertexDispersion, ref.fVertexDispersion, sizeof(Float_t)*2);
fSPDMultiplicity = ref.fSPDMultiplicity;
fPileupFlag = ref.fPileupFlag;
memcpy(fCentrality, ref.fCentrality, sizeof(Float_t) * kCentBuff);
memcpy(fV0Multiplicity, ref.fV0Multiplicity, sizeof(Float_t) * 2);
memcpy(fZDCEnergy, ref.fZDCEnergy, sizeof(Float_t) *4);
}
return *this;
}
AliHFEreducedEvent::~AliHFEreducedEvent(){
delete fTracks;
delete fMCparticles;
}
void AliHFEreducedEvent::AddTrack(const AliHFEreducedTrack *track){
fTracks->Add(new AliHFEreducedTrack(*track));
fNtracks++;
}
const AliHFEreducedTrack *AliHFEreducedEvent::GetTrack(Int_t itrk) const {
if(itrk < 0 || itrk >= fNtracks) return NULL;
return dynamic_cast<const AliHFEreducedTrack *>(fTracks->At(itrk));
}
void AliHFEreducedEvent::AddMCParticle(const AliHFEreducedMCParticle *track){
fMCparticles->Add(new AliHFEreducedMCParticle(*track));
fNmcparticles++;
}
const AliHFEreducedMCParticle *AliHFEreducedEvent::GetMCParticle(Int_t itrk) const {
if(itrk < 0 || itrk >= fNmcparticles) return NULL;
return dynamic_cast<const AliHFEreducedMCParticle *>(fMCparticles->At(itrk));
}
AliHFEreducedEvent.cxx:10 AliHFEreducedEvent.cxx:11 AliHFEreducedEvent.cxx:12 AliHFEreducedEvent.cxx:13 AliHFEreducedEvent.cxx:14 AliHFEreducedEvent.cxx:15 AliHFEreducedEvent.cxx:16 AliHFEreducedEvent.cxx:17 AliHFEreducedEvent.cxx:18 AliHFEreducedEvent.cxx:19 AliHFEreducedEvent.cxx:20 AliHFEreducedEvent.cxx:21 AliHFEreducedEvent.cxx:22 AliHFEreducedEvent.cxx:23 AliHFEreducedEvent.cxx:24 AliHFEreducedEvent.cxx:25 AliHFEreducedEvent.cxx:26 AliHFEreducedEvent.cxx:27 AliHFEreducedEvent.cxx:28 AliHFEreducedEvent.cxx:29 AliHFEreducedEvent.cxx:30 AliHFEreducedEvent.cxx:31 AliHFEreducedEvent.cxx:32 AliHFEreducedEvent.cxx:33 AliHFEreducedEvent.cxx:34 AliHFEreducedEvent.cxx:35 AliHFEreducedEvent.cxx:36 AliHFEreducedEvent.cxx:37 AliHFEreducedEvent.cxx:38 AliHFEreducedEvent.cxx:39 AliHFEreducedEvent.cxx:40 AliHFEreducedEvent.cxx:41 AliHFEreducedEvent.cxx:42 AliHFEreducedEvent.cxx:43 AliHFEreducedEvent.cxx:44 AliHFEreducedEvent.cxx:45 AliHFEreducedEvent.cxx:46 AliHFEreducedEvent.cxx:47 AliHFEreducedEvent.cxx:48 AliHFEreducedEvent.cxx:49 AliHFEreducedEvent.cxx:50 AliHFEreducedEvent.cxx:51 AliHFEreducedEvent.cxx:52 AliHFEreducedEvent.cxx:53 AliHFEreducedEvent.cxx:54 AliHFEreducedEvent.cxx:55 AliHFEreducedEvent.cxx:56 AliHFEreducedEvent.cxx:57 AliHFEreducedEvent.cxx:58 AliHFEreducedEvent.cxx:59 AliHFEreducedEvent.cxx:60 AliHFEreducedEvent.cxx:61 AliHFEreducedEvent.cxx:62 AliHFEreducedEvent.cxx:63 AliHFEreducedEvent.cxx:64 AliHFEreducedEvent.cxx:65 AliHFEreducedEvent.cxx:66 AliHFEreducedEvent.cxx:67 AliHFEreducedEvent.cxx:68 AliHFEreducedEvent.cxx:69 AliHFEreducedEvent.cxx:70 AliHFEreducedEvent.cxx:71 AliHFEreducedEvent.cxx:72 AliHFEreducedEvent.cxx:73 AliHFEreducedEvent.cxx:74 AliHFEreducedEvent.cxx:75 AliHFEreducedEvent.cxx:76 AliHFEreducedEvent.cxx:77 AliHFEreducedEvent.cxx:78 AliHFEreducedEvent.cxx:79 AliHFEreducedEvent.cxx:80 AliHFEreducedEvent.cxx:81 AliHFEreducedEvent.cxx:82 AliHFEreducedEvent.cxx:83 AliHFEreducedEvent.cxx:84 AliHFEreducedEvent.cxx:85 AliHFEreducedEvent.cxx:86 AliHFEreducedEvent.cxx:87 AliHFEreducedEvent.cxx:88 AliHFEreducedEvent.cxx:89 AliHFEreducedEvent.cxx:90 AliHFEreducedEvent.cxx:91 AliHFEreducedEvent.cxx:92 AliHFEreducedEvent.cxx:93 AliHFEreducedEvent.cxx:94 AliHFEreducedEvent.cxx:95 AliHFEreducedEvent.cxx:96 AliHFEreducedEvent.cxx:97 AliHFEreducedEvent.cxx:98 AliHFEreducedEvent.cxx:99 AliHFEreducedEvent.cxx:100 AliHFEreducedEvent.cxx:101 AliHFEreducedEvent.cxx:102 AliHFEreducedEvent.cxx:103 AliHFEreducedEvent.cxx:104 AliHFEreducedEvent.cxx:105 AliHFEreducedEvent.cxx:106 AliHFEreducedEvent.cxx:107 AliHFEreducedEvent.cxx:108 AliHFEreducedEvent.cxx:109 AliHFEreducedEvent.cxx:110 AliHFEreducedEvent.cxx:111 AliHFEreducedEvent.cxx:112 AliHFEreducedEvent.cxx:113 AliHFEreducedEvent.cxx:114 AliHFEreducedEvent.cxx:115 AliHFEreducedEvent.cxx:116 AliHFEreducedEvent.cxx:117 AliHFEreducedEvent.cxx:118 AliHFEreducedEvent.cxx:119 AliHFEreducedEvent.cxx:120 AliHFEreducedEvent.cxx:121 AliHFEreducedEvent.cxx:122 AliHFEreducedEvent.cxx:123 AliHFEreducedEvent.cxx:124 AliHFEreducedEvent.cxx:125 AliHFEreducedEvent.cxx:126 AliHFEreducedEvent.cxx:127 AliHFEreducedEvent.cxx:128 AliHFEreducedEvent.cxx:129 AliHFEreducedEvent.cxx:130 AliHFEreducedEvent.cxx:131 AliHFEreducedEvent.cxx:132 AliHFEreducedEvent.cxx:133 AliHFEreducedEvent.cxx:134 AliHFEreducedEvent.cxx:135 AliHFEreducedEvent.cxx:136 AliHFEreducedEvent.cxx:137 AliHFEreducedEvent.cxx:138 AliHFEreducedEvent.cxx:139 AliHFEreducedEvent.cxx:140 AliHFEreducedEvent.cxx:141 AliHFEreducedEvent.cxx:142 AliHFEreducedEvent.cxx:143 AliHFEreducedEvent.cxx:144 AliHFEreducedEvent.cxx:145 AliHFEreducedEvent.cxx:146 AliHFEreducedEvent.cxx:147 AliHFEreducedEvent.cxx:148 AliHFEreducedEvent.cxx:149 AliHFEreducedEvent.cxx:150 AliHFEreducedEvent.cxx:151 AliHFEreducedEvent.cxx:152 AliHFEreducedEvent.cxx:153 AliHFEreducedEvent.cxx:154 AliHFEreducedEvent.cxx:155 AliHFEreducedEvent.cxx:156 AliHFEreducedEvent.cxx:157 AliHFEreducedEvent.cxx:158 AliHFEreducedEvent.cxx:159 AliHFEreducedEvent.cxx:160 AliHFEreducedEvent.cxx:161 AliHFEreducedEvent.cxx:162 AliHFEreducedEvent.cxx:163 AliHFEreducedEvent.cxx:164 AliHFEreducedEvent.cxx:165 AliHFEreducedEvent.cxx:166 AliHFEreducedEvent.cxx:167 AliHFEreducedEvent.cxx:168 AliHFEreducedEvent.cxx:169 AliHFEreducedEvent.cxx:170 AliHFEreducedEvent.cxx:171 AliHFEreducedEvent.cxx:172 AliHFEreducedEvent.cxx:173 AliHFEreducedEvent.cxx:174 AliHFEreducedEvent.cxx:175 AliHFEreducedEvent.cxx:176