SQLamarr
The stand-alone ultra-fast simulation option for the LHCb experiment
SQLamarr Namespace Reference

Namespaces

 _find_CDLL
 
 BlockLib
 A collection of initializers specializing SQLamarr classes to tasks.
 
 CleanEventStore
 
 db_functions
 
 EditEventStore
 
 GenerativePlugin
 
 HepMC2DataLoader
 
 MCParticleSelector
 
 Pipeline
 
 Plugin
 
 PVFinder
 
 PVReconstruction
 
 PyTransformer
 
 TemporaryTable
 
 UpdateDBConnection
 

Classes

class  AbsDataLoader
 Abstract Interface for loading data to the internal database. More...
 
class  BasePlugin
 Interface to dynamically linked parametrizations. More...
 
class  BaseSqlInterface
 Abstract interface with helper functions to access an SQLite DB. More...
 
class  CleanEventStore
 Removes all data from DB without affecting the schema. More...
 
class  EditEventStore
 Execute a query non returning anything, but modifying the event store. More...
 
class  GenerativePlugin
 Interface to dynamically linked generative parametrizations. More...
 
class  T_GlobalPRNG
 Singleton handler of Pseudo-Random Number Generator(s) More...
 
class  MCParticleSelector
 Converts GenParticles to MCParticles. More...
 
class  Plugin
 Interface to dynamically linked generative parametrizations. More...
 
class  PVFinder
 Identifies the primary vertices. More...
 
class  PVReconstruction
 Emulates the reconstruction of the primary vertex. More...
 
class  SQLiteError
 
class  Transformer
 Interface to an executable class used for polymorphism. More...
 
class  UpdateDBConnection
 Reset the database connection forcing flushing the db status. More...
 
class  c_TransformerPtr
 

Typedefs

typedef std::unique_ptr< sqlite3, void(*)(sqlite3 *)> SQLite3DB
 Unique pointer to the sqlite3 connection. More...
 
typedef T_GlobalPRNG< std::ranlux48 > GlobalPRNG
 Default specialization using RANLUX48. More...
 
typedef T_GlobalPRNG< std::mt19937 > GlobalPRNG_MT
 An additional specialization for testing purpose using Marsenne Twister. More...
 

Functions

SQLite3DB make_database (std::string filename, int flags=SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_URI, std::string init=std::string())
 Initialize the database. More...
 
sqlite3_stmt * prepare_statement (SQLite3DB &db, const std::string &query)
 Prpare a statement. More...
 
std::string dump_table (SQLite3DB &db, const std::string &query)
 Dump the result of a query to a string. More...
 
float read_as_float (sqlite3_stmt *, int)
 Read a column field from a sqlite3 statement and convert it to float. More...
 
void validate_token (const std::string &token)
 Ensure a token is alphanumeric. More...
 
void update_db_connection (SQLite3DB &old_db, const std::string &db_uri, int flags=SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_URI)
 Force synchronization to disk by closing and opening the connection. More...
 
template<typename T >
std::string _string_field (T *s, int length, int column_type)
 
int _get_field_length (int column_type)
 
PVReconstruction::SmearingParametrization_1D _get_param_line (sqlite3_stmt *stmt, std::string condition, std::string coord)
 

Variables

 clib = _find_CDLL()
 
 restype
 Setup the version of the python package by reading the version of the CDLL. More...
 
 argtypes
 
 version = str(clib.get_version(), "ascii")
 

Typedef Documentation

◆ GlobalPRNG

typedef T_GlobalPRNG<std::ranlux48> SQLamarr::GlobalPRNG

Default specialization using RANLUX48.

Definition at line 185 of file GlobalPRNG.h.

◆ GlobalPRNG_MT

typedef T_GlobalPRNG<std::mt19937> SQLamarr::GlobalPRNG_MT

An additional specialization for testing purpose using Marsenne Twister.

Definition at line 188 of file GlobalPRNG.h.

◆ SQLite3DB

typedef std::unique_ptr<sqlite3, void(*)(sqlite3*)> SQLamarr::SQLite3DB

Unique pointer to the sqlite3 connection.

Definition at line 19 of file db_functions.h.

Function Documentation

◆ _get_field_length()

int SQLamarr::_get_field_length ( int  column_type)

Definition at line 66 of file db_functions.cpp.

◆ _get_param_line()

PVReconstruction::SmearingParametrization_1D SQLamarr::_get_param_line ( sqlite3_stmt *  stmt,
std::string  condition,
std::string  coord 
)

Definition at line 29 of file PVReconstruction.cpp.

◆ _string_field()

template<typename T >
std::string SQLamarr::_string_field ( T *  s,
int  length,
int  column_type 
)

Definition at line 29 of file db_functions.cpp.

◆ dump_table()

std::string SQLamarr::dump_table ( SQLite3DB db,
const std::string &  query 
)

Dump the result of a query to a string.

Definition at line 147 of file db_functions.cpp.

◆ make_database()

SQLite3DB SQLamarr::make_database ( std::string  filename,
int  flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_URI,
std::string  init = std::string() 
)

Initialize the database.

Definition at line 84 of file db_functions.cpp.

◆ prepare_statement()

sqlite3_stmt * SQLamarr::prepare_statement ( SQLite3DB db,
const std::string &  query 
)

Prpare a statement.

Definition at line 127 of file db_functions.cpp.

◆ read_as_float()

float SQLamarr::read_as_float ( sqlite3_stmt *  stmt,
int  iCol 
)

Read a column field from a sqlite3 statement and convert it to float.

Definition at line 208 of file db_functions.cpp.

◆ update_db_connection()

void SQLamarr::update_db_connection ( SQLite3DB old_db,
const std::string &  db_uri,
int  flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_URI 
)

Force synchronization to disk by closing and opening the connection.

Definition at line 250 of file db_functions.cpp.

◆ validate_token()

void SQLamarr::validate_token ( const std::string &  token)

Ensure a token is alphanumeric.

Definition at line 230 of file db_functions.cpp.

Variable Documentation

◆ argtypes

SQLamarr.argtypes

Definition at line 25 of file __init__.py.

◆ clib

SQLamarr.clib = _find_CDLL()

Definition at line 14 of file __init__.py.

◆ restype

SQLamarr.restype

Setup the version of the python package by reading the version of the CDLL.

Definition at line 24 of file __init__.py.

◆ version

SQLamarr.version = str(clib.get_version(), "ascii")

Definition at line 26 of file __init__.py.