Added class to read reconstruction parameters from OCDB (Yuri)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALHit.cxx
CommitLineData
fdebddeb 1 /**************************************************************************
b13bbe81 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
16/* $Id: */
17
18//_________________________________________________________________________
19// Hits class for EMCAL
19a2fe5a 20// A hit in EMCAL is the sum of all hits in a tower
21// from a single entering particle
b13bbe81 22//*-- Author: Sahal Yacoob (LBL / UCT)
23// Based on AliPHOSHit
24
25// --- Standard library ---
70479d0e 26#include <Riostream.h>
b13bbe81 27
28// --- ROOT system ---
b13bbe81 29
30// --- AliRoot header files ---
31#include "AliEMCALHit.h"
b13bbe81 32
33ClassImp(AliEMCALHit)
34
35//______________________________________________________________________
18a21c7c 36AliEMCALHit::AliEMCALHit()
37 : fId(0),
38 fELOS(0.),
39 fPrimary(0),
40 fPx(0.),
41 fPy(0.),
42 fPz(0.),
43 fPe(0.),
44 fIparent(0),
45 fIenergy(0.),
46 fTime(0.)
47{
b13bbe81 48 // Default ctor
b13bbe81 49}
18a21c7c 50
b13bbe81 51//______________________________________________________________________
18a21c7c 52AliEMCALHit::AliEMCALHit(const AliEMCALHit & hit)
53 : AliHit(hit),
54 fId(hit.fId),
55 fELOS(hit.fELOS),
56 fPrimary(hit.fPrimary),
57 fPx(hit.fPx),
58 fPy(hit.fPy),
59 fPz(hit.fPz),
60 fPe(hit.fPe),
61 fIparent(hit.fIparent),
62 fIenergy(hit.fIenergy),
63 fTime(hit.fTime)
64{
b13bbe81 65 // copy ctor
b13bbe81 66}
18a21c7c 67
b13bbe81 68//______________________________________________________________________
61e0abb5 69AliEMCALHit::AliEMCALHit(Int_t shunt, Int_t primary, Int_t track,Int_t iparent, Float_t ienergy, Int_t id,
18a21c7c 70 Float_t *hits,Float_t *p)
71 : AliHit(shunt, track),
72 fId(id),
73 fELOS(0.),
74 fPrimary(primary),
75 fPx(0.),
76 fPy(0.),
77 fPz(0.),
78 fPe(0.),
79 fIparent(iparent),
80 fIenergy(ienergy),
81 fTime(0.)
82{
b13bbe81 83 //
ffa6d63b 84 // Create an EMCAL hit object
b13bbe81 85 //
b13bbe81 86 fX = hits[0];
87 fY = hits[1];
88 fZ = hits[2];
773f6f3f 89 fTime = hits[3] ;
773f6f3f 90 fELOS = hits[4];
61e0abb5 91 fPx = p[0];
92 fPy = p[1];
93 fPz = p[2];
94 fPe = p[3];
b13bbe81 95}
4c35d512 96
97//______________________________________________________________________
b13bbe81 98Bool_t AliEMCALHit::operator==(AliEMCALHit const &rValue) const{
99 // Two hits are identical if they have the same Id and originat
ffa6d63b 100 // from the same enterring Particle
b13bbe81 101 Bool_t rv = kFALSE;
102
fdebddeb 103 if ( (fId == rValue.GetId()) && ( fIparent == rValue.GetIparent()))
b13bbe81 104 rv = kTRUE;
105
106 return rv;
107}
108//______________________________________________________________________
109AliEMCALHit AliEMCALHit::operator+(const AliEMCALHit &rValue){
110 // Add the energy of the hit
111
112 fELOS += rValue.GetEnergy() ;
773f6f3f 113
114 if(rValue.GetTime() < fTime)
115 fTime = rValue.GetTime() ;
116
b13bbe81 117 return *this;
118
119}
120//______________________________________________________________________
121ostream& operator << (ostream& out,AliEMCALHit& hit){
122 // Print out Id and energy
123
124 out << "AliEMCALHit:";
125 out << "id=" << hit.GetId();
126 out << ", Eloss=" << hit.GetEnergy();
773f6f3f 127 out << ", Time=" << hit.GetTime();
b13bbe81 128 out << "GeV , Track no.=" << hit.GetPrimary();
129 out << ", (xyz)=(" << hit.X()<< ","<< hit.Y()<< ","<<hit.Z()<<") cm";
130 out << ", fTrack=" << hit.GetTrack();
61e0abb5 131 out << ", P=(" << hit.GetPx() << "," << hit.GetPy() << "," << hit.GetPz()
132 << "," <<hit.GetPe() << ") GeV" ;
133 out << ", Enterring particle ID" << hit.GetIparent();
134 out << ", Enterring particle initial energy = " << hit.GetIenergy() << " GeV" ;
b13bbe81 135 out << endl;
136
137 return out;
138}