Optional scoring for background studies in HALL.
[u/mrichter/AliRoot.git] / TOF / AliTOFhit.cxx
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
16 //_________________________________________________________________________
17 //  TOF hit  : member variables
18 //  fTrack   :
19 //  fX       : X coordinate of the hit in the Master Reference Frame (LAB Frame)
20 //  fY       : Y coordinate of the hit in the Master Reference Frame (LAB Frame)
21 //  fZ       : Z coordinate of the hit in the Master Reference Frame (LAB Frame)
22 //  fSector  : Number of the TOF Sector which belongs the hit 
23 //  fPlate   : Number of the TOF Plate or Module which belongs the hit 
24 //  fStrip   : Number of the TOF Strip which belongs the hit 
25 //  fPadx    : Number of the pad in the strip along the x-axis - in the strip reference frame
26 //             - where hit is produced 
27 //  fPadz    : Number of the pad in the strip along the z-axis - in the strip reference frame
28 //             - where hit is produced
29 //  fPx      : x-director cosine of the Charged Particle Momentum when hit is
30 //             produced - expressed in the Master Reference Frame (LAB Frame) -
31 //  fPy      : y-director cosine of the Charged Particle Momentum when hit is
32 //             produced - expressed in the Master Reference Frame (LAB Frame) -
33 //  fPz      : z-director cosine of the Charged Particle Momentum when hit is
34 //             produced - expressed in the Master Reference Frame (LAB Frame) -
35 //  fPmom    : Modulus of the Charged Particle Momentum when hit is produced
36 //  fTof     : Time of Flight i.e. the time between the charged particle is produced and this
37 //             particle produce the hit on the TOF sensible volume (pad)
38 //  fDx      : Distance of the hit from the pad edge along x-axis
39 //  fDy      : y coordinate of the hit in the pad refernce frame  
40 //  fDz      : Distance of the hit from the pad edge along z-axis
41 //  fIncA    : Incidence Angle between the Normal to the sensible volume where hit
42 //             is produced (pad) and the Momentum Direction of the Charged Particle which
43 //             produces the hit
44 //  fEdep    : Energy released by charged particle on the sensible TOF volume where hit is
45 //             produced
46 // For more detailed informations about the meaning of the TOF-hit member
47 // variable look at 
48 // http://www.bo.infn.it/alice/alice-doc/TOFWEB/variables-hits.html
49 //
50 //  Getters, setters and member functions  defined here
51 //
52 //*-- Authors: F. Pierella, A. Seganti, D. Vicinanza
53
54
55
56 #include "AliTOFhit.h"
57
58 ClassImp(AliTOFhit)
59
60 //____________________________________________________________________________
61   AliTOFhit::AliTOFhit():
62   AliHit(),
63   fSector(-1),
64   fPlate(-1),
65   fStrip(-1),
66   fPadx(-1),
67   fPadz(-1),
68   fPx(0),
69   fPy(0),
70   fPz(0),
71   fPmom(0),
72   fTof(0),
73   fDx(0),
74   fDy(0),
75   fDz(0),
76   fIncA(0),
77   fEdep(0)
78 {
79 }
80
81 //____________________________________________________________________________
82 AliTOFhit::AliTOFhit(const AliTOFhit & hit):
83   AliHit(hit),
84   fSector(hit.fSector),
85   fPlate(hit.fPlate),
86   fStrip(hit.fStrip),
87   fPadx(hit.fPadx),
88   fPadz(hit.fPadz),
89   fPx(hit.fPx),
90   fPy(hit.fPy),
91   fPz(hit.fPz),
92   fPmom(hit.fPmom),
93   fTof(hit.fTof),
94   fDx(hit.fDx),
95   fDy(hit.fDy),
96   fDz(hit.fDz),
97   fIncA(hit.fIncA),
98   fEdep(hit.fEdep)
99 {
100    //
101    // copy ctor for AliTOFhit object
102    //
103   fTrack = hit.fTrack;
104 }
105  
106 //______________________________________________________________________________
107 AliTOFhit& AliTOFhit::operator = (const AliTOFhit& hit) {
108
109   if (this == &hit)
110     return *this;
111
112   TObject::operator=(hit);
113   fSector=hit.fSector;
114   fPlate=hit.fPlate;
115   fStrip=hit.fStrip;
116   fPadx=hit.fPadx;
117   fPadz=hit.fPadz;
118   fPx=hit.fPx;
119   fPy=hit.fPy;
120   fPz=hit.fPz;
121   fPmom=hit.fPmom;
122   fTof=hit.fTof;
123   fDx=hit.fDx;
124   fDy=hit.fDy;
125   fDz=hit.fDz;
126   fIncA=hit.fIncA;
127   fEdep=hit.fEdep;
128   fTrack = hit.fTrack;
129   return *this;
130
131 }
132
133 //______________________________________________________________________________
134 AliTOFhit::AliTOFhit(Int_t shunt, Int_t track, Int_t * const vol,
135                      Float_t * const hits) :
136   AliHit(shunt, track),
137   fSector(-1),
138   fPlate(-1),
139   fStrip(-1),
140   fPadx(-1),
141   fPadz(-1),
142   fPx(0),
143   fPy(0),
144   fPz(0),
145   fPmom(0),
146   fTof(0),
147   fDx(0),
148   fDy(0),
149   fDz(0),
150   fIncA(0),
151   fEdep(0)
152 {
153 //
154 // Constructor of hit object
155 //
156   //
157   // Hit Volume
158   // 
159   fSector= vol[0];
160   fPlate = vol[1];
161   fStrip = vol[2];
162   fPadx = vol[3];
163   fPadz = vol[4];
164   //
165   //Position of the hit
166   fX = hits[0];
167   fY = hits[1];
168   fZ = hits[2];
169   //
170   // Momentum components of the particle in the ALICE frame when hit is produced
171   fPx  = hits[3];
172   fPy  = hits[4];
173   fPz  = hits[5];
174   fPmom= hits[6];
175   //
176   // Time Of Flight for the particle that produces hit
177   fTof = hits[7];   //TOF[s]
178   //
179   // Other Data
180   fDx  = hits[8];   //Distance from the edge along x axis
181   fDy  = hits[9];   //Y cohordinate of the hit
182   fDz  = hits[10];  //Distance from the edge along z axis
183   fIncA= hits[11];  //Incidence angle
184   fEdep= hits[12];  //Energy loss in TOF pad
185 }
186