1 ///////////////////////////////////////////////////////////////////////////
5 // This file is part of starlight.
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.
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.
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/>.
20 ///////////////////////////////////////////////////////////////////////////
22 // File and Version Information:
23 // $Rev:: $: revision of last commit
24 // $Author:: $: author of last commit
25 // $Date:: $: date of last commit
31 ///////////////////////////////////////////////////////////////////////////
37 upcEvent::upcEvent() :
43 upcEvent::upcEvent(starlightConstants::event &ev) :
48 for(int i = 0; i < ev._numberOfTracks; i++)
54 starlightConstants::UNKNOWN,
55 starlightConstants::UNKNOWN,
67 upcEvent& upcEvent::operator=(const upcEvent& rhs)
72 this->_particles = rhs._particles;
73 this->_vertices = rhs._vertices;
74 this->_gammaEnergies = rhs._gammaEnergies;
79 upcEvent& upcEvent::operator+(const upcEvent& ev)
81 for(unsigned int n = 0; n < ev._particles.size(); n++)
83 this->_particles.push_back(ev._particles.at(n));
85 for(unsigned int n = 0; n < ev._vertices.size(); n++)
87 this->_vertices.push_back(ev._vertices.at(n));
89 for(unsigned int n = 0; n < ev._gammaEnergies.size(); n++)
91 this->_gammaEnergies.push_back(ev._gammaEnergies.at(n));
96 void upcEvent::boost(double rapidity)
98 vector3 boostVector(0, 0, tanh(rapidity));
99 std::vector<starlightParticle>::iterator part = _particles.begin();
101 for (part = _particles.begin(); part != _particles.end(); part++)
103 (*part).Boost(boostVector);