PHOS impact class
[u/mrichter/AliRoot.git] / PHOS / AliPHOSImpact.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 /* $Id$ */
17
18 //_________________________________________________________________________
19 //  Hit impact class for PHOS     
20 //  A hit impact in PHOS is a set of parameters of a track which
21 //  enters the detector for the first time.
22 //  Track parameters are:
23 //  - track number
24 //  - primary particle number
25 //  - type of a particle
26 //  - impact coordinate
27 //  - impact 4-momentum
28 //               
29 //*-- Author: Yuri Kharlov (IHEP, Protvino/SUBATECH, Nantes)
30
31 // --- ROOT system ---
32
33 // --- Standard library ---
34
35 // --- AliRoot header files ---
36 #include "AliPHOSImpact.h"
37
38 ClassImp(AliPHOSImpact)
39
40 //____________________________________________________________________________
41 AliPHOSImpact::AliPHOSImpact(const AliPHOSImpact & hit) 
42 {
43    // copy ctor
44    
45   fTrack   = hit.fTrack ; 
46   fPrimary = hit.fPrimary ; 
47   fPid     = hit.fPid ;
48   fMomentum= hit.fMomentum ;
49   fX       = hit.fX ; 
50   fY       = hit.fY ; 
51   fZ       = hit.fZ ; 
52  
53
54
55 //____________________________________________________________________________
56 AliPHOSImpact::AliPHOSImpact(Int_t shunt, Int_t primary, Int_t track, Int_t pid, TLorentzVector p, Float_t *xyz)
57   : AliHit(shunt, track)
58 {
59   //
60   // Create a PHOS hit impact object
61   //
62
63   fPrimary   = primary ;
64   fPid       = pid ; 
65   fMomentum  = p;
66   fX         = xyz[0];  //position of particle first entering cristall/pad
67   fY         = xyz[1];
68   fZ         = xyz[2];  
69 }
70
71 //____________________________________________________________________________
72 void AliPHOSImpact::Print()
73 {
74   printf("Impact Pid=%4d, p=(%6.2f,%6.2f,%6.2f,%6.2f) GeV, x=(%6.1f,%6.1f,%6.1f) cm\n",
75          fPid,fMomentum.Px(),fMomentum.Py(),fMomentum.Pz(),fMomentum.E(),
76          fX,fY,fZ);
77 }