X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDCHit.cxx;h=197842498672792d138de5cdf3def7cb058720cf;hb=8faa2b1410ac1f347d33bb94239e5d7cb106a934;hp=fc16462be23bb046e480bc60604be9775c47dfb1;hpb=3ff116f26d51bd953051f0e91787412af28635ce;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCHit.cxx b/ZDC/AliZDCHit.cxx index fc16462be23..19784249867 100644 --- a/ZDC/AliZDCHit.cxx +++ b/ZDC/AliZDCHit.cxx @@ -15,36 +15,117 @@ /* $Id$ */ +// ************************************************************** // -//////////////////////////////////////////////// -// Hits classes for set ZDC // -//////////////////////////////////////////////// +// Hits classes for ZDC // +// ************************************************************** #include "AliZDCHit.h" 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("\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); }