1
//Contains the actual trajectory simulation function.
2
#ifndef __Trajector_Simulation_hpp_
3
#define __Trajector_Simulation_hpp_
4

5
#include <functional>
6
#include <random>
7

8
#include "Physics_Functions.hpp"
9
#include "Simulation_Essentials.hpp"
10

11
//Cut off speed for a given experiment
12
	extern double Cutoff_Speed(const std::string& experiment,double mDM,int rank=0);
13

14
//Initial Condition Generator
15
	extern Event InitialCondition(double tIni,Vector3D xIni,std::mt19937& PRNG,double vCutoff);
16

17
//Simulate one particle track:
18 2
	struct Result
19
	{
20
		bool success;
21
		Event final_event;
22
		long unsigned int nScattering;
23
		double max_horizontal_distance;
24
		double weight;
25

26
		//Constructors
27
		Result();
28
		Result(double w);
29

30
		void Summary();
31
	};
32
	extern std::vector<Result> Simulate_Trajectory(DM_Particle& DM, Event IC, double vMin,std::mt19937& PRNG,Result result=Result(),std::string split_ID ="Contact");
33
	
34
#endif

Read our documentation on viewing source code .

Loading