]>
Commit | Line | Data |
---|---|---|
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 | ||
26 | ClassImp(AliZDCHit) | |
27 | ||
28 | //_____________________________________________________________________________ | |
cc2abffd | 29 | AliZDCHit::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 | //_____________________________________________________________________________ | |
50 | AliZDCHit::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 | //_____________________________________________________________________________ |
76 | AliZDCHit::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 | //_____________________________________________________________________________ | |
98 | AliZDCHit &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 | //_____________________________________________________________________________ |
125 | void AliZDCHit::Print(Option_t *) const | |
126 | { | |
127 | // Print method | |
362fd90e | 128 | printf("\t **** AliZDCHit: track %d eta %f PDGcode %d TOF %1.1f ns E_prim = %1.2f GeV \n" |
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, |
362fd90e | 132 | fVolume[0],fVolume[1],fXImpact,fYImpact,fSFlag, |
f7f9e40c | 133 | fLightPMQ,fLightPMC,fEnergy); |
8a2624cc | 134 | } |