blob: fefc3f98cbb93d2d262a6cfba2f9ff2457c0f44e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/*
* CircularBeam.cc
*
* Created on: May 17, 2011
* Author: jakob
*/
#include "CircularBeam.h"
#include "Particle.h"
#include "Element.h"
namespace vhc {
CircularBeam::CircularBeam(const Particle& referenceParticle, int quantity, int lambda): Beam(referenceParticle, quantity, lambda) {
}
CircularBeam::~CircularBeam() {}
void CircularBeam::initializeParticles() {
Element* element = referenceParticle.getElement();
for (int i = 0; i < quantity / lambda; ++i) {
particles.push_back(new Particle(
element->getEntryPosition(),
referenceParticle.getMass() * lambda,
referenceParticle.getCharge() * lambda,
referenceParticle.getEnergy(),
element->getDiagonal()
));
element = element->getNext();
}
}
CircularBeam* CircularBeam::clone() const {
return new CircularBeam(referenceParticle, quantity, lambda);
}
}
|