Fixing a bug
[u/mrichter/AliRoot.git] / ZDC / ZDCsim / AliZDCHit.cxx
CommitLineData
8e308087 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
803d1ab0 16/* $Id$ */
8e308087 17
8a2624cc 18// **************************************************************
3ff116f2 19//
8a2624cc 20// Hits classes for ZDC
3ff116f2 21//
8a2624cc 22// **************************************************************
8e308087 23
24#include "AliZDCHit.h"
25
26ClassImp(AliZDCHit)
27
28//_____________________________________________________________________________
cc2abffd 29AliZDCHit::AliZDCHit() :
30// AliHit(shunt, track),
6c79713a 31 fPrimKinEn(0.),
cc2abffd 32 fXImpact(0.),
33 fYImpact(0.),
34 fSFlag(0),
35 fLightPMQ(0.),
36 fLightPMC(0.),
47709f57 37 fEnergy(0.),
f7f9e40c 38 fPDGCode(0),
ae3870e6 39 fMotherPDGCode(0),
949a5a55 40 fTrackTOF(0.),
41 fTrackEta(0.)
cc2abffd 42{
43 //
44 // Default constructor
45 //
6c79713a 46 for(Int_t i=0; i<2; i++) fVolume[i] = 0;
cc2abffd 47}
48
49//_____________________________________________________________________________
50AliZDCHit::AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) :
51 AliHit(shunt, track),
52 fPrimKinEn(hits[3]),
53 fXImpact(hits[4]),
54 fYImpact(hits[5]),
55 fSFlag(hits[6]),
56 fLightPMQ(hits[7]),
57 fLightPMC(hits[8]),
47709f57 58 fEnergy(hits[9]),
f7f9e40c 59 fPDGCode((Int_t) hits[10]),
ae3870e6 60 fMotherPDGCode((Int_t) hits[11]),
949a5a55 61 fTrackTOF(hits[12]),
62 fTrackEta(hits[13])
cc2abffd 63
8e308087 64{
65 //
cc2abffd 66 // Standard constructor
8e308087 67 //
68 Int_t i;
cc2abffd 69 for(i=0; i<2; i++) fVolume[i] = vol[i];
5a881c97 70 fX = hits[0];
71 fY = hits[1];
72 fZ = hits[2];
cc2abffd 73}
8e308087 74
cc2abffd 75//_____________________________________________________________________________
76AliZDCHit::AliZDCHit(const AliZDCHit &oldhit) :
a718c993 77 AliHit(0,oldhit.GetTrack()),
78 fPrimKinEn(oldhit.GetPrimKinEn()),
79 fXImpact(oldhit.GetXImpact()),
80 fYImpact(oldhit.GetYImpact()),
81 fSFlag(oldhit.GetSFlag()),
82 fLightPMQ(oldhit.GetLightPMQ()),
83 fLightPMC(oldhit.GetLightPMC()),
47709f57 84 fEnergy(oldhit.GetEnergy()),
f7f9e40c 85 fPDGCode(oldhit.GetPDGCode()),
ae3870e6 86 fMotherPDGCode(oldhit.GetMotherPDGCode()),
949a5a55 87 fTrackTOF(oldhit.GetTrackTOF()),
88 fTrackEta(oldhit.GetTrackEta())
cc2abffd 89{
90 // Copy constructor
91 fX = oldhit.X();
92 fY = oldhit.Y();
93 fZ = oldhit.Z();
94 for(Int_t i=0; i<2; i++) fVolume[i] = oldhit.GetVolume(i);
8e308087 95}
be004c43 96
97//_____________________________________________________________________________
98AliZDCHit &AliZDCHit::operator= (const AliZDCHit &hit)
99{
100 //assignemnt operator
101 if(&hit == this) return *this;
102
103 fPrimKinEn = hit.GetPrimKinEn();
104 fXImpact = hit.GetXImpact();
105 fYImpact = hit.GetYImpact();
106 fSFlag = hit.GetSFlag();
107 fLightPMQ = hit.GetLightPMQ();
108 fLightPMC = hit.GetLightPMC();
109 fEnergy = hit.GetEnergy();
110 fPDGCode = hit.GetPDGCode();
111 fMotherPDGCode = hit.GetMotherPDGCode();
112 fTrackTOF = hit.GetTrackTOF();
949a5a55 113 fTrackEta = hit.GetTrackEta();
be004c43 114
115 fX = hit.X();
116 fY = hit.Y();
117 fZ = hit.Z();
118 for(Int_t i=0; i<2; i++) fVolume[i] = hit.GetVolume(i);
119
120 return *this;
121}
8a2624cc 122
cc2abffd 123
8a2624cc 124//_____________________________________________________________________________
125void AliZDCHit::Print(Option_t *) const
126{
127 // Print method
05bd2c86 128 printf(" **** AliZDCHit: track %d eta %f PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV \n"
183673e3 129 "\t DETECTOR (%d, %d) (X, Y)_impact (%1.2f, %1.2f) cm Secflag %1.0f\n"
e4d73825 130 "\t PMQLight %1.0f, PMCLight %1.0f, E_dep %1.2f\n ",
949a5a55 131 fTrack,fTrackEta,fPDGCode,fTrackTOF,fPrimKinEn,
183673e3 132 fVolume[0],fVolume[1],fXImpact,fYImpact,fSFlag,
f7f9e40c 133 fLightPMQ,fLightPMC,fEnergy);
8a2624cc 134}