]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STARLIGHT/starlight/src/.svn/text-base/upcevent.cpp.svn-base
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / src / .svn / text-base / upcevent.cpp.svn-base
CommitLineData
da32329d
AM
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:: $: revision of last commit
24// $Author:: $: author of last commit
25// $Date:: $: date of last commit
26//
27// Description:
28//
29//
30//
31///////////////////////////////////////////////////////////////////////////
32
33
34#include "upcevent.h"
35
36
37upcEvent::upcEvent() :
38 _NTracks(0)
39 ,_particles(0)
40 ,_vertices(0)
41{ }
42
43upcEvent::upcEvent(starlightConstants::event &ev) :
44 _NTracks(0)
45 ,_particles(0)
46 ,_vertices(0)
47{
48 for(int i = 0; i < ev._numberOfTracks; i++)
49 {
50 starlightParticle p(
51 ev.px[i],
52 ev.py[i],
53 ev.pz[i],
54 starlightConstants::UNKNOWN,
55 starlightConstants::UNKNOWN,
56 ev._fsParticle[i],
57 ev._charge[i]
58 );
59 addParticle(p);
60 }
61}
62
63upcEvent::~upcEvent()
64{ }
65
66
67upcEvent& upcEvent::operator=(const upcEvent& rhs)
68{
69
70 if(this != &rhs)
71 {
72 this->_particles = rhs._particles;
73 this->_vertices = rhs._vertices;
74 this->_gammaEnergies = rhs._gammaEnergies;
75 }
76 return *this;
77}
78
79upcEvent& upcEvent::operator+(const upcEvent& ev)
80{
81 for(unsigned int n = 0; n < ev._particles.size(); n++)
82 {
83 this->_particles.push_back(ev._particles.at(n));
84 }
85 for(unsigned int n = 0; n < ev._vertices.size(); n++)
86 {
87 this->_vertices.push_back(ev._vertices.at(n));
88 }
89 for(unsigned int n = 0; n < ev._gammaEnergies.size(); n++)
90 {
91 this->_gammaEnergies.push_back(ev._gammaEnergies.at(n));
92 }
93 return *this;
94}
95
96void upcEvent::boost(double rapidity)
97{
98 vector3 boostVector(0, 0, tanh(rapidity));
99 std::vector<starlightParticle>::iterator part = _particles.begin();
100
101 for (part = _particles.begin(); part != _particles.end(); part++)
102 {
103 (*part).Boost(boostVector);
104 }
105}