X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDCHit.cxx;h=197842498672792d138de5cdf3def7cb058720cf;hb=710f52729f51908dc19549c0f1a72473341ff033;hp=009e4ee691d014845b551cc69986b00736fcf749;hpb=8a2624cc301a4bd98b89b9a157086ab802486d48;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCHit.cxx b/ZDC/AliZDCHit.cxx index 009e4ee691d..19784249867 100644 --- a/ZDC/AliZDCHit.cxx +++ b/ZDC/AliZDCHit.cxx @@ -26,36 +26,106 @@ ClassImp(AliZDCHit) //_____________________________________________________________________________ -AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits): - AliHit(shunt, track) +AliZDCHit::AliZDCHit() : +// AliHit(shunt, track), + fPrimKinEn(0.), + fXImpact(0.), + fYImpact(0.), + fSFlag(0), + fLightPMQ(0.), + fLightPMC(0.), + fEnergy(0.), + fPDGCode(0), + fMotherPDGCode(0), + fTrackTOF(0.) + +{ + // + // Default constructor + // + for(Int_t i=0; i<2; i++) fVolume[i] = 0; +} + +//_____________________________________________________________________________ +AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) : + AliHit(shunt, track), + fPrimKinEn(hits[3]), + fXImpact(hits[4]), + fYImpact(hits[5]), + fSFlag(hits[6]), + fLightPMQ(hits[7]), + fLightPMC(hits[8]), + fEnergy(hits[9]), + fPDGCode((Int_t) hits[10]), + fMotherPDGCode((Int_t) hits[11]), + fTrackTOF(hits[12]) + { // - // Add a ZDC hit + // Standard constructor // Int_t i; - for(i=0; i<2; i++) { - fVolume[i] = vol[i]; - } + for(i=0; i<2; i++) fVolume[i] = vol[i]; fX = hits[0]; fY = hits[1]; fZ = hits[2]; - fPrimKinEn = hits[3]; - fXImpact = hits[4]; - fYImpact = hits[5]; - fSFlag = hits[6]; - fLightPMQ = hits[7]; - fLightPMC = hits[8]; - fEnergy = hits[9]; +} +//_____________________________________________________________________________ +AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) : + AliHit(0,oldhit.GetTrack()), + fPrimKinEn(oldhit.GetPrimKinEn()), + fXImpact(oldhit.GetXImpact()), + fYImpact(oldhit.GetYImpact()), + fSFlag(oldhit.GetSFlag()), + fLightPMQ(oldhit.GetLightPMQ()), + fLightPMC(oldhit.GetLightPMC()), + fEnergy(oldhit.GetEnergy()), + fPDGCode(oldhit.GetPDGCode()), + fMotherPDGCode(oldhit.GetMotherPDGCode()), + fTrackTOF(oldhit.GetTrackTOF()) +{ + // Copy constructor + fX = oldhit.X(); + fY = oldhit.Y(); + fZ = oldhit.Z(); + for(Int_t i=0; i<2; i++) fVolume[i] = oldhit.GetVolume(i); } + +//_____________________________________________________________________________ +AliZDCHit &AliZDCHit::operator= (const AliZDCHit &hit) +{ + //assignemnt operator + if(&hit == this) return *this; + + fPrimKinEn = hit.GetPrimKinEn(); + fXImpact = hit.GetXImpact(); + fYImpact = hit.GetYImpact(); + fSFlag = hit.GetSFlag(); + fLightPMQ = hit.GetLightPMQ(); + fLightPMC = hit.GetLightPMC(); + fEnergy = hit.GetEnergy(); + fPDGCode = hit.GetPDGCode(); + fMotherPDGCode = hit.GetMotherPDGCode(); + fTrackTOF = hit.GetTrackTOF(); + + fX = hit.X(); + fY = hit.Y(); + fZ = hit.Z(); + for(Int_t i=0; i<2; i++) fVolume[i] = hit.GetVolume(i); + + return *this; +} + //_____________________________________________________________________________ void AliZDCHit::Print(Option_t *) const { // Print method - printf(" -> HIT: vol[0] = %d vol[1] = %d Track: %d \n" - " Primary E = %f, Ximpact = %f, Yimpact = %f, SFlag = %f\n" - " PMQLight = %f, PMCLight = %f, Deposited E = %f\n ", - fVolume[0],fVolume[1],fTrack,fPrimKinEn,fXImpact,fYImpact, - fSFlag,fLightPMQ,fLightPMC,fEnergy); + printf("\t AliZDCHit: track %d PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV SFlag = %1.0f\n" + "\t DETECTOR (%d, %d) (X, Y)_impact (%f, %f) cm\n" + "\t PMQLight %1.0f, PMCLight %1.0f, E_dep %1.2f\n ", + fTrack,fPDGCode,fTrackTOF,fPrimKinEn,fSFlag, + fVolume[0],fVolume[1],fXImpact,fYImpact, + fLightPMQ,fLightPMC,fEnergy); }