MARLEY (Model of Argon Reaction Low Energy Yields)
v1.2.0
A Monte Carlo event generator for tens-of-MeV neutrino interactions
include
marley
marley_kinematics.hh
1
//
5
// This file is part of MARLEY (Model of Argon Reaction Low Energy Yields)
6
//
7
// MARLEY is free software: you can redistribute it and/or modify it under the
8
// terms of version 3 of the GNU General Public License as published by the
9
// Free Software Foundation.
10
//
11
// For the full text of the license please see COPYING or
12
// visit http://opensource.org/licenses/GPL-3.0
13
//
14
// Please respect the MCnet academic usage guidelines. See GUIDELINES
15
// or visit https://www.montecarlonet.org/GUIDELINES for details.
16
17
#pragma once
18
#include <cmath>
19
20
#include "marley/Error.hh"
21
22
namespace
marley {
23
class
Particle;
24
}
25
26
namespace
marley_kinematics {
27
28
// Lorentz boost a particle, replacing its energy and momentum with the
29
// boosted versions
30
void
lorentz_boost(
double
beta_x,
double
beta_y,
double
beta_z,
31
marley::Particle
& particle_to_boost);
32
53
void
two_body_decay(
const
marley::Particle
& initial_particle,
54
marley::Particle
& first_product,
marley::Particle
& second_product,
55
double
cos_theta_first,
double
phi_first);
56
57
// Rotates a particle's 3-momentum so that it points in the (x, y, z)
58
// direction
59
void
rotate_momentum_vector(
double
x,
double
y,
double
z,
60
marley::Particle
& particle_to_rotate);
61
62
// Gets the square of the total energy in the center of momentum frame for
63
// two particles
64
double
get_mandelstam_s(
const
marley::Particle
& p1,
65
const
marley::Particle
& p2);
66
67
// Boost two particles into their mutual center-of-momentum frame
68
void
boost_to_cm_frame(
marley::Particle
& p1,
marley::Particle
& p2);
69
}
marley::Particle
Momentum four-vector for a simulated particle.
Definition:
Particle.hh:32
Generated by
1.9.1