]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/JCORRAN/AliJMCTrack.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJMCTrack.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-2014, 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 // Comment describing what this class does needed!
17
18 // $Id: AliJMCTrack.cxx,v 1.2 2008/05/08 13:44:45 djkim Exp $
19
20 ////////////////////////////////////////////////////
21 //
22 //  \file AliJMCTrack.cxx
23 //  \brief
24 //  \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
25 //  \email: djkim@jyu.fi
26 //  \version $Revision: 1.2 $
27 //  \date $Date: 2008/05/08 13:44:45 $
28 //
29 //  class which encapsulates track  monte carlo information
30 ////////////////////////////////////////////////////
31
32 #include "AliJMCTrack.h"
33 #include <TMath.h>
34 #include <TROOT.h>
35
36 ClassImp(AliJMCTrack);
37
38 //______________________________________________________________________________
39 AliJMCTrack::AliJMCTrack() : 
40     AliJBaseTrack(),
41     fPdgCode(0),
42     fVx(0),
43     fVy(0),
44     fVz(0)
45 {
46   // default constructor
47   fMother[0] = fMother[1] = -1;
48   fDaughter[0] = fDaughter[1] = -1;
49
50
51 }
52
53 //______________________________________________________________________________
54 AliJMCTrack::AliJMCTrack(const AliJMCTrack& a):
55     AliJBaseTrack(a),
56     fPdgCode(a.fPdgCode),
57     fVx(a.fVx),
58     fVy(a.fVy),
59     fVz(a.fVz)
60 {
61   //copy constructor
62   for(Int_t i=0;i<2;i++){
63     fMother[i] = a.fMother[i];
64     fDaughter[i] = a.fDaughter[i];
65   }
66 }
67
68
69 //______________________________________________________________________________
70 void AliJMCTrack::SetPdgCode(Int_t icode) {
71   // Set PDG code, charge,  recalculate E
72   if( TMath::Abs(icode) > 32767 ) icode = 0; // Short_t
73   fPdgCode=icode;
74 //   SetVectM(Vect(), GetPDGData().Mass());
75 //   SetCharge( TMath::Nint(GetPDGData().Charge()) ); // is this right?
76 }
77
78
79 //______________________________________________________________________________
80 Bool_t AliJMCTrack::IsHadron() const{
81   // Check is hadron 
82   int absID = TMath::Abs(GetPdgCode());
83   if( absID >= 211 && absID<=533 ) return true; //meson
84   if( absID >1000 && absID<6000 ) return true; // barion
85   return false;
86 }
87
88 //______________________________________________________________________________
89 AliJMCTrack& AliJMCTrack::operator=(const AliJMCTrack& trk){
90   //operator= 
91   if(this != &trk){
92     AliJBaseTrack::operator=(trk);
93     fPdgCode   =  trk.fPdgCode;
94     fLabel     =  trk.fLabel;
95     for(Int_t i=0;i<2;i++){
96       fMother[i]   = trk.fMother[i];
97       fDaughter[i] = trk.fDaughter[i];
98     }
99     fVx  = trk.fVx;
100     fVy  = trk.fVy;
101     fVz  = trk.fVz;
102   }
103   return *this;
104 }
105
106 const TParticlePDG& AliJMCTrack::GetPDGData() const { 
107   return *(TDatabasePDG::Instance()->GetParticle( fPdgCode )); 
108 }
109
110
111
112
113