/* This file is part of MAUS: http://micewww.pp.rl.ac.uk/projects/maus
*
* MAUS is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* MAUS is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MAUS. If not, see .
*/
#include
#include "src/common_cpp/DataStructure/Step.hh"
namespace MAUS {
Step::Step() : _position(0, 0, 0), _momentum(0, 0, 0), _spin(0, 0, 0),
_bfield(0, 0, 0), _efield(0, 0, 0), _proper_time(0),
_path_length(0), _time(0), _energy(0), _energy_deposited(0),
_volume(""), _material("") {
}
Step::Step(const Step& step) {
*this = step;
}
Step& Step::operator=(const Step& step) {
if (&step == this) {
return *this;
}
_position = step._position;
_momentum = step._momentum;
_spin = step._spin;
_bfield = step._bfield;
_efield = step._efield;
_proper_time = step._proper_time;
_path_length = step._path_length;
_time = step._time;
_energy = step._energy;
_energy_deposited = step._energy_deposited;
_volume = step._volume;
_material = step._material;
return *this;
}
Step::~Step() {
}
ThreeVector Step::GetPosition() const {
return _position;
}
void Step::SetPosition(ThreeVector pos) {
_position = pos;
}
ThreeVector Step::GetMomentum() const {
return _momentum;
}
void Step::SetMomentum(ThreeVector mom) {
_momentum = mom;
}
ThreeVector Step::GetSpin() const {
return _spin;
}
void Step::SetSpin(ThreeVector spin) {
_spin = spin;
}
double Step::GetProperTime() const {
return _proper_time;
}
void Step::SetProperTime(double tau) {
_proper_time = tau;
}
double Step::GetPathLength() const {
return _path_length;
}
void Step::SetPathLength(double length) {
_path_length = length;
}
double Step::GetTime() const {
return _time;
}
void Step::SetTime(double time) {
_time = time;
}
double Step::GetEnergy() const {
return _energy;
}
void Step::SetEnergy(double energy) {
_energy = energy;
}
double Step::GetEnergyDeposited() const {
return _energy_deposited;
}
void Step::SetEnergyDeposited(double edep) {
_energy_deposited = edep;
}
ThreeVector Step::GetBField() const {
return _bfield;
}
void Step::SetBField(ThreeVector bfield) {
_bfield = bfield;
}
ThreeVector Step::GetEField() const {
return _efield;
}
void Step::SetEField(ThreeVector efield) {
_efield = efield;
}
std::string Step::GetMaterial() const {
return _material;
}
void Step::SetMaterial(std::string material) {
_material = material;
}
std::string Step::GetVolume() const {
return _volume;
}
void Step::SetVolume(std::string volume) {
_volume = volume;
}
}