SQLamarr
The stand-alone ultra-fast simulation option for the LHCb experiment
custom_sql_functions.h
1 // (c) Copyright 2022 CERN for the benefit of the LHCb Collaboration.
2 //
3 // This software is distributed under the terms of the GNU General Public
4 // Licence version 3 (GPL Version 3), copied verbatim in the file "LICENCE".
5 //
6 // In applying this licence, CERN does not waive the privileges and immunities
7 // granted to it by virtue of its status as an Intergovernmental Organization
8 // or submit itself to any jurisdiction.
9 
10 
11 #pragma once
12 
13 #include "sqlite3.h"
14 
15 void sqlamarr_create_sql_functions (sqlite3*);
16 
17 void _sqlamarr_sql_log (sqlite3_context*, int, sqlite3_value**);
18 void _sqlamarr_sql_norm2 (sqlite3_context*, int, sqlite3_value**);
19 void _sqlamarr_sql_pseudorapidity (sqlite3_context*, int, sqlite3_value**);
20 void _sqlamarr_sql_polar (sqlite3_context*, int, sqlite3_value**);
21 void _sqlamarr_sql_azimuthal (sqlite3_context*, int, sqlite3_value**);
22 void _sqlamarr_sql_propagation_charge (sqlite3_context*, int, sqlite3_value**);
23 void _sqlamarr_sql_random_uniform (sqlite3_context*, int, sqlite3_value**);
24 void _sqlamarr_sql_random_normal (sqlite3_context*, int, sqlite3_value**);
25 void _sqlamarr_sql_random_category (sqlite3_context*, int, sqlite3_value**);
26 void _sqlamarr_sql_z_closest_to_beam (sqlite3_context*, int, sqlite3_value**);
27 void _sqlamarr_sql_slopes_to_cartesian (sqlite3_context*, int, sqlite3_value**);
28