]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCHit.cxx
SensorThickness was defined twice. Set inner chip thickness to 250mum to bypass bug...
[u/mrichter/AliRoot.git] / ZDC / AliZDCHit.cxx
index bf1257e61aab7fa48c2030a2c33ed28f99e44a69..e641968b9123d18dee70ab59ec061fb87bf6202d 100644 (file)
@@ -28,18 +28,22 @@ ClassImp(AliZDCHit)
 //_____________________________________________________________________________
 AliZDCHit::AliZDCHit() :
 //  AliHit(shunt, track),
-  fPrimKinEn(00),
+  fPrimKinEn(0.),
   fXImpact(0.),
   fYImpact(0.),
   fSFlag(0),
   fLightPMQ(0.),
   fLightPMC(0.),
-  fEnergy(0.) 
-
+  fEnergy(0.), 
+  fPDGCode(0),
+  fMotherPDGCode(0),
+  fTrackTOF(0.),
+  fTrackEta(0.)
 {
   //
   // Default constructor
   //
+  for(Int_t i=0; i<2; i++) fVolume[i] = 0;
 }
 
 //_____________________________________________________________________________
@@ -51,7 +55,11 @@ AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) :
   fSFlag(hits[6]),
   fLightPMQ(hits[7]),
   fLightPMC(hits[8]),
-  fEnergy(hits[9]) 
+  fEnergy(hits[9]), 
+  fPDGCode((Int_t) hits[10]),
+  fMotherPDGCode((Int_t) hits[11]),
+  fTrackTOF(hits[12]),
+  fTrackEta(hits[13])
 
 {
   //
@@ -66,20 +74,50 @@ AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) :
   
 //_____________________________________________________________________________
 AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) :
-  AliHit(0,oldhit.GetTrack())
+  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()),
+  fTrackEta(oldhit.GetTrackEta())
 {
   // Copy constructor
   fX = oldhit.X();
   fY = oldhit.Y();
   fZ = oldhit.Z();
   for(Int_t i=0; i<2; i++) fVolume[i] = oldhit.GetVolume(i);
-  fPrimKinEn = oldhit.GetPrimKinEn();
-  fXImpact = oldhit.GetXImpact();  
-  fYImpact = oldhit.GetYImpact();  
-  fSFlag = oldhit.GetSFlag();    
-  fLightPMQ = oldhit.GetLightPMQ(); 
-  fLightPMC = oldhit.GetLightPMC(); 
-  fEnergy = oldhit.GetEnergy();   
+}
+
+//_____________________________________________________________________________
+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();
+  fTrackEta = hit.GetTrackEta();
+
+  fX = hit.X();
+  fY = hit.Y();
+  fZ = hit.Z();
+  for(Int_t i=0; i<2; i++) fVolume[i] = hit.GetVolume(i);
+  
+  return *this;
 }
   
   
@@ -87,9 +125,10 @@ AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) :
 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 eta %f PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV \n" 
+         "\t DETECTOR (%d, %d)  (X, Y)_impact (%1.2f, %1.2f) cm  Secflag %1.0f\n"
+          "\t PMQLight %1.0f, PMCLight %1.0f,  E_dep %1.2f\n ", 
+          fTrack,fTrackEta,fPDGCode,fTrackTOF,fPrimKinEn,
+         fVolume[0],fVolume[1],fXImpact,fYImpact,fSFlag,
+          fLightPMQ,fLightPMC,fEnergy);
 }