]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/starlight/include/starlightparticle.h
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / starlightparticle.h
1 ///////////////////////////////////////////////////////////////////////////
2 //
3 //    Copyright 2010
4 //
5 //    This file is part of starlight.
6 //
7 //    starlight is free software: you can redistribute it and/or modify
8 //    it under the terms of the GNU General Public License as published by
9 //    the Free Software Foundation, either version 3 of the License, or
10 //    (at your option) any later version.
11 //
12 //    starlight is distributed in the hope that it will be useful,
13 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 //    GNU General Public License for more details.
16 //
17 //    You should have received a copy of the GNU General Public License
18 //    along with starlight. If not, see <http://www.gnu.org/licenses/>.
19 //
20 ///////////////////////////////////////////////////////////////////////////
21 //
22 // File and Version Information:
23 // $Rev:: 133                         $: revision of last commit
24 // $Author:: odjuvsla                 $: author of last commit
25 // $Date:: 2013-09-05 22:08:42 +0200 #$: date of last commit
26 //
27 // Description:
28 //
29 //
30 //
31 ///////////////////////////////////////////////////////////////////////////
32
33
34 #ifndef STARLIGHTPARTICLE_H
35 #define STARLIGHTPARTICLE_H
36
37
38 #include "lorentzvector.h"
39
40
41 class starlightParticle : public lorentzVector
42 {
43    public:
44       
45       starlightParticle();
46       starlightParticle ( double px, double py, double pz, double e, double mass, int pdgCode, short charge, 
47                           double vx = 0., double vy = 0, double vz = 0, double vt = 0,
48                           int firstParent = 0, int lastParent = 0, int firstDaughter = 0, int lastDaughter = 0, int status = 0);
49       virtual ~starlightParticle();
50    
51       void setPdgCode(int pdgCode) { _pdgCode = pdgCode; }
52       int getPdgCode() const { return _pdgCode; }
53       
54       void setCharge(short charge) { _charge = charge; }
55       short getCharge() const { return _charge; }
56       
57       void setFirstParent(int parent) { _firstParent = parent; }
58       void setLastParent(int parent) { _lastParent = parent; }
59       int getFirstParent() const { return _firstParent; }
60       int getLastParent() const { return _lastParent; }
61       
62       void setFirstDaughter(int first) { _firstDaughter = first; }
63       int getFirstDaughter() const { return _firstDaughter; }
64       
65       void setLastDaughter(int first) { _lastDaughter = first; }
66       int getLastDaughter() const { return _lastDaughter; }
67       
68       void setStatus(int status) { _status = status; }
69       int getStatus() const { return _status; }
70       
71       void setVertex(lorentzVector v) { _vertex = v; }
72       lorentzVector getVertex() const { return _vertex; }
73       
74    private:
75      
76     lorentzVector _vertex;
77     
78     int _pdgCode;
79     short _charge;
80     double _mass;
81     
82     int _firstParent;
83     int _lastParent;
84     int _firstDaughter;
85     int _lastDaughter;
86
87     int _status;
88   
89 };
90
91
92 #endif  // STARLIGHTPARTICLE_H