]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCHit.cxx
Fill ntuple only on request; more mass histos (Francesco, Renu)
[u/mrichter/AliRoot.git] / ZDC / AliZDCHit.cxx
index 009e4ee691d014845b551cc69986b00736fcf749..551c0875f00abf93c84a0ebd1814ecd4588ca705 100644 (file)
 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);
 }
   
+  
 //_____________________________________________________________________________
 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);
 }