Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate C-API #137

Merged
merged 3 commits into from Oct 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 8 additions & 3 deletions .github/workflows/linux.yml
Expand Up @@ -24,7 +24,12 @@ jobs:
run: |
mkdir build install
cd build
cmake -GNinja -DCMAKE_CXX_STANDARD=17 -DBUILD_ROOTDICT=ON -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" -DCMAKE_INSTALL_PREFIX=../install ..
ninja -k0
ninja install
cmake -DCMAKE_CXX_STANDARD=17 \
-DBUILD_ROOTDICT=ON \
-DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" \
-DCMAKE_INSTALL_PREFIX=../install \
-DBUILD_F77_TESTJOBS=ON \
..
make -k
make install
ctest --output-on-failure
7 changes: 7 additions & 0 deletions src/cpp/include/CPPFORT/deprecation.h
@@ -0,0 +1,7 @@
#ifndef LCIO_CPPFORT_DEPRECATION_MACRO_H
#define LCIO_CPPFORT_DEPRECATION_MACRO_H

#define LCIO_DEPRECATED_CAPI \
[[deprecated("C-API of LCIO is deprecated and slated for removal in one of the next releases")]]

#endif
45 changes: 24 additions & 21 deletions src/cpp/include/CPPFORT/lccah.h
Expand Up @@ -7,30 +7,33 @@
#include "cfortran.h"
#include "cpointer.h"

#include "deprecation.h"

// Warning: dont use "_" in function names as this causes two many
// trailing underscores on Linux

PTRTYPE lccahcreate() ;
int lccahdelete( PTRTYPE calhit ) ;
int lccahid( PTRTYPE calhit ) ;

int lccahgetcellid0( PTRTYPE calhit ) ;
int lccahgetcellid1( PTRTYPE calhit ) ;
float lccahgetenergy( PTRTYPE calhit ) ;
float lccahgetenergyerr( PTRTYPE calhit ) ;
float lccahgettime( PTRTYPE calhit ) ;
int lccahgetposition( PTRTYPE calhit, float * ) ;
int lccahgettype( PTRTYPE calhit ) ;
PTRTYPE lccahgetrawhit( PTRTYPE calhit ) ;

int lccahsetcellid0( PTRTYPE calhit, int id0) ;
int lccahsetcellid1( PTRTYPE calhit, int id1) ;
int lccahsetenergy( PTRTYPE calhit, float en) ;
int lccahsetenergyerr( PTRTYPE calhit, float enerr) ;
int lccahsettime( PTRTYPE calhit, float time) ;
int lccahsetposition( PTRTYPE calhit, float pos[3]) ;
int lccahsettype( PTRTYPE calhit, int type ) ;
int lccahsetrawhit( PTRTYPE calhit, PTRTYPE rawHit ) ;

LCIO_DEPRECATED_CAPI PTRTYPE lccahcreate() ;
LCIO_DEPRECATED_CAPI int lccahdelete( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI int lccahid( PTRTYPE calhit ) ;

LCIO_DEPRECATED_CAPI int lccahgetcellid0( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI int lccahgetcellid1( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI float lccahgetenergy( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI float lccahgetenergyerr( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI float lccahgettime( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI int lccahgetposition( PTRTYPE calhit, float * ) ;
LCIO_DEPRECATED_CAPI int lccahgettype( PTRTYPE calhit ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lccahgetrawhit( PTRTYPE calhit ) ;

LCIO_DEPRECATED_CAPI int lccahsetcellid0( PTRTYPE calhit, int id0) ;
LCIO_DEPRECATED_CAPI int lccahsetcellid1( PTRTYPE calhit, int id1) ;
LCIO_DEPRECATED_CAPI int lccahsetenergy( PTRTYPE calhit, float en) ;
LCIO_DEPRECATED_CAPI int lccahsetenergyerr( PTRTYPE calhit, float enerr) ;
LCIO_DEPRECATED_CAPI int lccahsettime( PTRTYPE calhit, float time) ;
LCIO_DEPRECATED_CAPI int lccahsetposition( PTRTYPE calhit, float pos[3]) ;
LCIO_DEPRECATED_CAPI int lccahsettype( PTRTYPE calhit, int type ) ;
LCIO_DEPRECATED_CAPI int lccahsetrawhit( PTRTYPE calhit, PTRTYPE rawHit ) ;

// now the fortran wrappers from cfortran.h
extern "C"{
Expand Down
66 changes: 34 additions & 32 deletions src/cpp/include/CPPFORT/lcclu.h
Expand Up @@ -6,51 +6,53 @@
#include "cfortran.h"
#include "cpointer.h"

#include "deprecation.h"

// Warning: dont use "_" in function names as this causes two many
// trailing underscores on Linux

PTRTYPE lcclucreate() ;
int lccludelete( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcclucreate() ;
LCIO_DEPRECATED_CAPI int lccludelete( PTRTYPE clu ) ;

int lccluid( PTRTYPE clu ) ;
int lcclugettype( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI int lccluid( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI int lcclugettype( PTRTYPE clu ) ;
// int lcclutesttype( PTRTYPE clu , int bit ) ;

float lcclugetenergy( PTRTYPE clu ) ;
float lcclugetenergyerr( PTRTYPE clu ) ;
int lcclugetposition( PTRTYPE clu, float* pos ) ;
int lcclugetpositionerror( PTRTYPE clu, float* poserr ) ;
float lcclugetitheta( PTRTYPE clu ) ;
float lcclugetiphi( PTRTYPE clu ) ;
int lcclugetdirectionerror( PTRTYPE clu, float* direrr ) ;
LCIO_DEPRECATED_CAPI float lcclugetenergy( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI float lcclugetenergyerr( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI int lcclugetposition( PTRTYPE clu, float* pos ) ;
LCIO_DEPRECATED_CAPI int lcclugetpositionerror( PTRTYPE clu, float* poserr ) ;
LCIO_DEPRECATED_CAPI float lcclugetitheta( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI float lcclugetiphi( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI int lcclugetdirectionerror( PTRTYPE clu, float* direrr ) ;

// int lcclugetshape( PTRTYPE clu, float* shape ) ;
// int lcclugetparticletype( PTRTYPE clu, float* weights) ;

PTRTYPE lcclugetshape( PTRTYPE clu ) ;

PTRTYPE lcclugetparticleids( PTRTYPE clu ) ;
PTRTYPE lcclugetclusters( PTRTYPE clu ) ;
PTRTYPE lcclugetcalorimeterhits( PTRTYPE clu ) ;
PTRTYPE lcclugetsubdetectorenergies( PTRTYPE clu ) ;

int lcclusettypebit( PTRTYPE clu, int index, int val ) ;
int lcclusetenergy( PTRTYPE clu, float energy ) ;
int lcclusetenergyerr( PTRTYPE clu, float enerr ) ;
int lcclusetposition( PTRTYPE clu, float* refpoint ) ;
int lcclusetpositionerror( PTRTYPE clu, float* poserr ) ;
int lcclusetitheta( PTRTYPE clu, float theta ) ;
int lcclusetiphi( PTRTYPE clu, float phi ) ;
int lcclusetdirectionerror( PTRTYPE clu, float* direrr ) ;
int lcclusetshape( PTRTYPE clu, PTRTYPE pshapevec ) ;
int lccluaddparticleid( PTRTYPE clu, PTRTYPE pid ) ;
int lccluaddcluster( PTRTYPE clu, PTRTYPE clus ) ;
int lccluaddhit( PTRTYPE clu, PTRTYPE calohit, float weigth ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcclugetshape( PTRTYPE clu ) ;

LCIO_DEPRECATED_CAPI PTRTYPE lcclugetparticleids( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcclugetclusters( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcclugetcalorimeterhits( PTRTYPE clu ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcclugetsubdetectorenergies( PTRTYPE clu ) ;

LCIO_DEPRECATED_CAPI int lcclusettypebit( PTRTYPE clu, int index, int val ) ;
LCIO_DEPRECATED_CAPI int lcclusetenergy( PTRTYPE clu, float energy ) ;
LCIO_DEPRECATED_CAPI int lcclusetenergyerr( PTRTYPE clu, float enerr ) ;
LCIO_DEPRECATED_CAPI int lcclusetposition( PTRTYPE clu, float* refpoint ) ;
LCIO_DEPRECATED_CAPI int lcclusetpositionerror( PTRTYPE clu, float* poserr ) ;
LCIO_DEPRECATED_CAPI int lcclusetitheta( PTRTYPE clu, float theta ) ;
LCIO_DEPRECATED_CAPI int lcclusetiphi( PTRTYPE clu, float phi ) ;
LCIO_DEPRECATED_CAPI int lcclusetdirectionerror( PTRTYPE clu, float* direrr ) ;
LCIO_DEPRECATED_CAPI int lcclusetshape( PTRTYPE clu, PTRTYPE pshapevec ) ;
LCIO_DEPRECATED_CAPI int lccluaddparticleid( PTRTYPE clu, PTRTYPE pid ) ;
LCIO_DEPRECATED_CAPI int lccluaddcluster( PTRTYPE clu, PTRTYPE clus ) ;
LCIO_DEPRECATED_CAPI int lccluaddhit( PTRTYPE clu, PTRTYPE calohit, float weigth ) ;

// fg: these methods have no direct correspondence in the C++ API as there the vector is manipulated
// directly through the interface
int lcclugethitcontributions( PTRTYPE clu, float* ener, int* nener ) ;
int lcclusetsubdetectorenergies( PTRTYPE cluster, float* floatv, const int nfloatv ) ;
LCIO_DEPRECATED_CAPI int lcclugethitcontributions( PTRTYPE clu, float* ener, int* nener ) ;
LCIO_DEPRECATED_CAPI int lcclusetsubdetectorenergies( PTRTYPE cluster, float* floatv, const int nfloatv ) ;

// now the fortran wrappers from cfortran.h
extern "C"{
Expand Down
28 changes: 15 additions & 13 deletions src/cpp/include/CPPFORT/lccol.h
Expand Up @@ -6,27 +6,29 @@
#include "cfortran.h"
#include "cpointer.h"

#include "deprecation.h"

// Warning: dont use "_" in function names as this causes two many
// trailing underscores on Linux

// the collection interface
PTRTYPE lccolcreate( const char* colname ) ;
int lccoldelete( PTRTYPE collection ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lccolcreate( const char* colname ) ;
LCIO_DEPRECATED_CAPI int lccoldelete( PTRTYPE collection ) ;

int lccolgetnumberofelements( PTRTYPE collection ) ;
char* lccolgettypename( PTRTYPE collection ) ;
PTRTYPE lccolgetelementat( PTRTYPE collection, int index ) ;
int lccolgetflag(PTRTYPE collection) ;
LCIO_DEPRECATED_CAPI int lccolgetnumberofelements( PTRTYPE collection ) ;
LCIO_DEPRECATED_CAPI char* lccolgettypename( PTRTYPE collection ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lccolgetelementat( PTRTYPE collection, int index ) ;
LCIO_DEPRECATED_CAPI int lccolgetflag(PTRTYPE collection) ;

bool lccolistransient(PTRTYPE collection) ;
int lccolsettransient(PTRTYPE collection, bool value) ;
LCIO_DEPRECATED_CAPI bool lccolistransient(PTRTYPE collection) ;
LCIO_DEPRECATED_CAPI int lccolsettransient(PTRTYPE collection, bool value) ;

bool lccolisdefault(PTRTYPE collection) ;
int lccolsetdefault(PTRTYPE collection, bool value) ;
LCIO_DEPRECATED_CAPI bool lccolisdefault(PTRTYPE collection) ;
LCIO_DEPRECATED_CAPI int lccolsetdefault(PTRTYPE collection, bool value) ;

int lccolsetflag(PTRTYPE collection, int flag) ;
int lccoladdelement(PTRTYPE collection, PTRTYPE object) ;
int lccolremoveelementat(PTRTYPE collection, int i) ;
LCIO_DEPRECATED_CAPI int lccolsetflag(PTRTYPE collection, int flag) ;
LCIO_DEPRECATED_CAPI int lccoladdelement(PTRTYPE collection, PTRTYPE object) ;
LCIO_DEPRECATED_CAPI int lccolremoveelementat(PTRTYPE collection, int i) ;

// now the fortran wrappers from cfortran.h
extern "C"{
Expand Down
30 changes: 16 additions & 14 deletions src/cpp/include/CPPFORT/lcevt.h
Expand Up @@ -8,33 +8,35 @@
#include "cfortran.h"
#include "cpointer.h"

#include "deprecation.h"

// Warning: dont use "_" in function names as this causes two many
// trailing underscores on Linux

// the event interface
PTRTYPE lcevtcreate() ;
int lcevtdelete( PTRTYPE event ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcevtcreate() ;
LCIO_DEPRECATED_CAPI int lcevtdelete( PTRTYPE event ) ;

int lcevtgetrunnumber( PTRTYPE event ) ;
int lcevtgeteventnumber( PTRTYPE event ) ;
char* lcevtgetdetectorname( PTRTYPE event );
LCIO_DEPRECATED_CAPI int lcevtgetrunnumber( PTRTYPE event ) ;
LCIO_DEPRECATED_CAPI int lcevtgeteventnumber( PTRTYPE event ) ;
LCIO_DEPRECATED_CAPI char* lcevtgetdetectorname( PTRTYPE event );

long lcevtgettimestamp( PTRTYPE event ) ;
LCIO_DEPRECATED_CAPI long lcevtgettimestamp( PTRTYPE event ) ;

PTRTYPE lcevtgetcollectionnames( PTRTYPE event ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcevtgetcollectionnames( PTRTYPE event ) ;
// PTRTYPE lcevtgettrelationnames( PTRTYPE event ) ;
PTRTYPE lcevtgetcollection( PTRTYPE event, const char* colname ) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcevtgetcollection( PTRTYPE event, const char* colname ) ;
// PTRTYPE lcevtgetrelation( PTRTYPE event, const char* name ) ;

int lcevtaddcollection( PTRTYPE event, PTRTYPE collection , char* colname ) ;
int lcevtremovecollection( PTRTYPE event, char* name ) ;
LCIO_DEPRECATED_CAPI int lcevtaddcollection( PTRTYPE event, PTRTYPE collection , char* colname ) ;
LCIO_DEPRECATED_CAPI int lcevtremovecollection( PTRTYPE event, char* name ) ;
// int lcevtaddrelation( PTRTYPE event, PTRTYPE relation, char* name ) ;
// int lcevtremoverelation( PTRTYPE event, const char* name ) ;

int lcevtsetrunnumber( PTRTYPE event, int rn ) ;
int lcevtseteventnumber( PTRTYPE event, int en ) ;
int lcevtsetdetectorname( PTRTYPE event, char* dn ) ;
int lcevtsettimestamp( PTRTYPE event, long ts ) ;
LCIO_DEPRECATED_CAPI int lcevtsetrunnumber( PTRTYPE event, int rn ) ;
LCIO_DEPRECATED_CAPI int lcevtseteventnumber( PTRTYPE event, int en ) ;
LCIO_DEPRECATED_CAPI int lcevtsetdetectorname( PTRTYPE event, char* dn ) ;
LCIO_DEPRECATED_CAPI int lcevtsettimestamp( PTRTYPE event, long ts ) ;

// now the fortran wrappers from cfortran.h
extern "C"{
Expand Down
40 changes: 21 additions & 19 deletions src/cpp/include/CPPFORT/lcgob.h
Expand Up @@ -6,29 +6,31 @@
#include "cfortran.h"
#include "cpointer.h"

#include "deprecation.h"

// Warning: dont use "_" in function names as this causes two many
// trailing underscores on Linux

// the genericobject interface
PTRTYPE lcgobcreate() ;
PTRTYPE lcgobcreatefixed( int nint, int nfloat, int ndouble ) ;
int lcgobdelete( PTRTYPE genericobject ) ;

int lcgobid( PTRTYPE genericobject ) ;
int lcgobgetnint( PTRTYPE genericobject ) ;
int lcgobgetnfloat( PTRTYPE genericobject ) ;
int lcgobgetndouble( PTRTYPE genericobject ) ;
int lcgobgetintval( PTRTYPE genericobject, int index ) ;
float lcgobgetfloatval( PTRTYPE genericobject, int index ) ;
double lcgobgetdoubleval( PTRTYPE genericobject, int index ) ;

int lcgobsetintval( PTRTYPE genericobject, int index, int value) ;
int lcgobsetfloatval( PTRTYPE genericobject, int index, float value) ;
int lcgobsetdoubleval( PTRTYPE genericobject, int index, double value) ;

bool lcgobisfixedsize(PTRTYPE genericobject) ;
char* lcgobgettypename(PTRTYPE genericobject) ;
char* lcgobgetdatadescription(PTRTYPE genericobject) ;
LCIO_DEPRECATED_CAPI PTRTYPE lcgobcreate() ;
LCIO_DEPRECATED_CAPI PTRTYPE lcgobcreatefixed( int nint, int nfloat, int ndouble ) ;
LCIO_DEPRECATED_CAPI int lcgobdelete( PTRTYPE genericobject ) ;

LCIO_DEPRECATED_CAPI int lcgobid( PTRTYPE genericobject ) ;
LCIO_DEPRECATED_CAPI int lcgobgetnint( PTRTYPE genericobject ) ;
LCIO_DEPRECATED_CAPI int lcgobgetnfloat( PTRTYPE genericobject ) ;
LCIO_DEPRECATED_CAPI int lcgobgetndouble( PTRTYPE genericobject ) ;
LCIO_DEPRECATED_CAPI int lcgobgetintval( PTRTYPE genericobject, int index ) ;
LCIO_DEPRECATED_CAPI float lcgobgetfloatval( PTRTYPE genericobject, int index ) ;
LCIO_DEPRECATED_CAPI double lcgobgetdoubleval( PTRTYPE genericobject, int index ) ;

LCIO_DEPRECATED_CAPI int lcgobsetintval( PTRTYPE genericobject, int index, int value) ;
LCIO_DEPRECATED_CAPI int lcgobsetfloatval( PTRTYPE genericobject, int index, float value) ;
LCIO_DEPRECATED_CAPI int lcgobsetdoubleval( PTRTYPE genericobject, int index, double value) ;

LCIO_DEPRECATED_CAPI bool lcgobisfixedsize(PTRTYPE genericobject) ;
LCIO_DEPRECATED_CAPI char* lcgobgettypename(PTRTYPE genericobject) ;
LCIO_DEPRECATED_CAPI char* lcgobgetdatadescription(PTRTYPE genericobject) ;

// now the fortran wrappers from cfortran.h
extern "C"{
Expand Down