1 #ifndef test_vertices_H
2 #define test_vertices_H
60 int CPU_test_vertices_execute(std::vector<int> PMTid, std::vector<int> time, std::vector<int> * trigger_ns, std::vector<int> * trigger_ts);
66 unsigned int get_time_index(
unsigned int hit_index,
unsigned int vertex_block);
float elapsed_threads_candidates
int CPU_test_vertices_execute(std::vector< int > PMTid, std::vector< int > time, std::vector< int > *trigger_ns, std::vector< int > *trigger_ts)
unsigned int n_water_like_test_vertices
float elapsed_directions_copy_dev
unsigned int nhits_threshold_max
unsigned int * host_times
unsigned int n_direction_bins
void choose_candidates_above_threshold()
double cerenkov_angle_water
unsigned int * host_max_number_of_pmts_in_cone_in_time_bin
util::Stopwatch * m_stopwatch
The stopwatch, if we're using one.
unsigned int * host_vertex_with_max_n_pmts
int CPU_test_vertices_initialize()
unsigned int n_direction_bins_phi
void allocate_candidates_memory_on_host()
void free_global_memories()
unsigned int get_time_index(unsigned int hit_index, unsigned int vertex_block)
float elapsed_memory_directions_dev
unsigned int n_test_vertices
vertices
void find_vertex_with_max_npmts_in_timebin(histogram_t *np, histogram_t *mnp, unsigned int *vmnp)
std::vector< unsigned int > candidate_trigger_npmts_in_time_bin
int m_n_direction_bins_theta
bool Initialise(std::string configfile, DataModel &data)
std::vector< unsigned int > trigger_npmts_in_cone_in_time_bin
float elapsed_candidates_copy_host
std::string event_file_base
void StreamToLog(int level)
void free_event_memories()
unsigned int * host_n_pmts_per_time_bin
float elapsed_write_output
float m_distance_between_vertices
std::vector< unsigned int > candidate_trigger_npmts_in_cone_in_time_bin
float elapsed_kernel_correct_times_and_get_n_pmts_per_time_bin
unsigned int get_distance_index(unsigned int pmt_id, unsigned int vertex_block)
float m_wall_like_threshold_number_of_pmts
std::stringstream m_ss
For easy formatting of Log messages.
float m_wall_like_distance
unsigned int nhits_window
std::string output_file_base
int m_verbose
Verbosity level, as defined in tool parameter file.
std::vector< std::pair< unsigned int, unsigned int > > final_trigger_pair_vertex_time
std::vector< double > output_trigger_information
unsigned int wall_like_threshold_number_of_pmts
std::string event_file_suffix
std::vector< unsigned int > trigger_npmts_in_time_bin
double detector_height
detector
void make_test_vertices()
float elapsed_candidates_memory_dev
histogram_t * host_max_number_of_pmts_in_time_bin
unsigned int water_like_threshold_number_of_pmts
unsigned int nhits_threshold_min
unsigned int greatest_divisor
int m_num_threads_per_block_y
float elapsed_candidates_kernel
int max_n_threads_per_block
std::string detector_file
TimeDelta m_trigger_mask_window_pre
Pre-trigger time for masking digits from future tools.
LogLevel
Log level enumerations.
unsigned int write_output_mode
void separate_triggers_into_gates(std::vector< int > *trigger_ns, std::vector< int > *trigger_ts)
unsigned int get_direction_index_at_pmt(unsigned int pmt_id, unsigned int vertex_index, unsigned int direction_index)
unsigned int correct_mode
bool * host_directions_for_vertex_and_pmt
void correct_times_and_get_histo_per_vertex_shared(unsigned int *ct)
TimeDelta m_trigger_save_window_pre
Pre-trigger time for saving digits.
unsigned int time_step_size
unsigned int the_max_time
unsigned short offset_t
CPU version of the algorithm.
unsigned int get_direction_index_at_time(unsigned int time_bin, unsigned int vertex_index, unsigned int direction_index)
bool read_the_input_ToolDAQ(std::vector< int > PMTid, std::vector< int > time, int *earliest_time)
std::vector< int > m_time_int
void Log(const std::string &message, const int message_level)
Format messages in the same way as for tools.
int CPU_test_vertices_finalize()
float elapsed_memory_candidates_host
std::vector< std::pair< unsigned int, unsigned int > > candidate_trigger_pair_vertex_time
unsigned int * host_time_bin_of_hit
bool m_trigger_threshold_adjust_for_noise
unsigned int * host_n_pmts_nhits
unsigned int time_of_flight_t
std::vector< std::pair< unsigned int, unsigned int > > trigger_pair_vertex_time
unsigned int max_n_hits_per_job
float m_costheta_cone_cut
double distance_between_vertices
CPU parameters.
float elapsed_memory_tofs_dev
unsigned int get_direction_index_at_angles(unsigned int iphi, unsigned int itheta)
time_of_flight_t * host_times_of_flight
std::string m_stopwatch_file
Image filename to save the histogram to, if required.
TimeDelta m_trigger_save_window_post
Post-trigger time for saving digits.
bool m_select_based_on_cone
void make_table_of_directions()
bool select_based_on_cone
float elapsed_tofs_copy_dev
unsigned int n_direction_bins_theta
int m_num_threads_per_block_x
TimeDelta m_trigger_mask_window_post
Post-trigger time for masking digits from future tools.
float m_water_like_threshold_number_of_pmts
void make_table_of_tofs()
double wall_like_distance