Skip to content

Commit

Permalink
Merge 53d7466 into d57e835
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasmerten committed Jun 15, 2020
2 parents d57e835 + 53d7466 commit 1ed6f25
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
1 change: 1 addition & 0 deletions include/crpropa/Source.h
Expand Up @@ -447,6 +447,7 @@ class SourceEmissionCone: public SourceFeature {
public:
SourceEmissionCone(Vector3d direction, double aperture);
void prepareParticle(ParticleState &particle) const;
void setDirection(Vector3d direction);
void setDescription();
};

Expand Down
12 changes: 11 additions & 1 deletion src/Source.cpp
Expand Up @@ -795,15 +795,25 @@ void SourceEmissionMap::setEmissionMap(EmissionMap *emissionMap) {

// ----------------------------------------------------------------------------
SourceEmissionCone::SourceEmissionCone(Vector3d direction, double aperture) :
direction(direction), aperture(aperture) {
aperture(aperture) {
setDirection(direction);
setDescription();

}

void SourceEmissionCone::prepareParticle(ParticleState& particle) const {
Random &random = Random::instance();
particle.setDirection(random.randConeVector(direction, aperture));
}

void SourceEmissionCone::setDirection(Vector3d dir) {
if (dir.getR() == 0) {
throw std::runtime_error("SourceEmissionCone: The direction vector was a null vector.");
} else {
direction = dir.getUnitVector();
}
}

void SourceEmissionCone::setDescription() {
std::stringstream ss;
ss << "SourceEmissionCone: Jetted emission in ";
Expand Down
12 changes: 12 additions & 0 deletions test/testSource.cpp
Expand Up @@ -252,6 +252,18 @@ TEST(SourceComposition, simpleTest) {
EXPECT_GE(6 * Rmax, p.getEnergy());
}

TEST(SourceEmissionCone, simpleTest) {
Vector3d direction(42., 0., 0.);
double aperture = 1/42.;

SourceEmissionCone source(direction, aperture);

ParticleState p;
source.prepareParticle(p);
double angle = direction.getAngleTo(p.getDirection());
EXPECT_LE(angle, aperture);
}

#ifdef CRPROPA_HAVE_MUPARSER
TEST(SourceGenericComposition, simpleTest) {
double Emin = 10;
Expand Down

0 comments on commit 1ed6f25

Please sign in to comment.