LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lcpid.cc
Go to the documentation of this file.
1 #include "CPPFORT/lcpid.h"
2 
3 #include "lcio.h"
4 #include "IMPL/ParticleIDImpl.h"
5 #include "EVENT/LCFloatVec.h"
6 
7 using namespace lcio ;
8 
9 #include <iostream>
10 
11 // create delete ParticleID
12 
14  ParticleIDImpl* pid = new ParticleIDImpl ;
15  return C2F_POINTER( LCObject*, pid ) ;
16 }
17 int lcpiddelete( PTRTYPE pidit ){
18  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
19  delete pid ;
20  return LCIO::SUCCESS ;
21 }
22 
23 
24 // get Methods
25 
26 int lcpidid( PTRTYPE pidit ) {
27  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
28  return pid->id() ;
29 }
30 
31 int lcpidgettype( PTRTYPE pidit ) {
32  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
33  return pid->getType() ;
34 }
35 
36 int lcpidgetpdg( PTRTYPE pidit ) {
37  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
38  return pid->getPDG() ;
39 }
40 
41 float lcpidgetlikelihood( PTRTYPE pidit ) {
42  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
43  return pid->getLikelihood() ;
44 }
45 
47  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
48  return pid->getAlgorithmType() ;
49 }
50 
51 int lcpidgetparameters( PTRTYPE pidit, float* vec, int* nvec ) {
52  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
53  int ntot = *nvec - 1 ;
54  const FloatVec* floatVec = &pid->getParameters() ;
55  for(unsigned int l=0;l<floatVec->size();l++){
56  if ( l > (unsigned)(ntot) ) {
57  std::cout << "LCParticleID: in getParameters more than " << ntot << "weights to store" << std::endl ;
58  return LCIO::ERROR ;
59  }
60  *vec++ = (*floatVec)[l] ;
61  }
62  *nvec = (int)(floatVec->size() + 1);
63  return LCIO::SUCCESS ;
64 }
65 
66 
67 // set,add Methods
68 
69 int lcpidsettype( PTRTYPE pidit, int type ) {
70  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
71  pid->setType( type ) ;
72  return LCIO::SUCCESS ;
73 }
74 
75 int lcpidsetpdg( PTRTYPE pidit, int pdg ) {
76  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
77  pid->setPDG( pdg ) ;
78  return LCIO::SUCCESS ;
79 }
80 
81 int lcpidsetlikelihood( PTRTYPE pidit, float logl) {
82  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
83  pid->setLikelihood( logl ) ;
84  return LCIO::SUCCESS ;
85 }
86 
87 int lcpidsetalgorithmtype( PTRTYPE pidit, int ident ) {
88  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
89  pid->setAlgorithmType( ident ) ;
90  return LCIO::SUCCESS ;
91 }
92 
93 int lcpidaddparameter( PTRTYPE pidit, float param) {
94  ParticleIDImpl* pid = f2c_pointer<ParticleIDImpl,LCObject>( pidit ) ;
95  pid->addParameter( param ) ;
96  return LCIO::SUCCESS ;
97 }
98 
99 
LCIO_DEPRECATED_CAPI int lcpidsetalgorithmtype(PTRTYPE pid, int algo)
Definition: lcpid.cc:87
LCIO_DEPRECATED_CAPI int lcpidsettype(PTRTYPE pid, int type)
Definition: lcpid.cc:69
LCIO_DEPRECATED_CAPI int lcpidaddparameter(PTRTYPE pid, float param)
Definition: lcpid.cc:93
std::vector< float > FloatVec
Vector of floats.
Definition: LCIOSTLTypes.h:18
T endl(T...args)
LCIO_DEPRECATED_CAPI int lcpidsetpdg(PTRTYPE pid, int pdg)
Definition: lcpid.cc:75
LCIO_DEPRECATED_CAPI int lcpidsetlikelihood(PTRTYPE pid, float logl)
Definition: lcpid.cc:81
LCIO_DEPRECATED_CAPI int lcpidid(PTRTYPE pid)
Definition: lcpid.cc:26
LCIO_DEPRECATED_CAPI int lcpidgetparameters(PTRTYPE pid, float *vec, int *nvec)
Definition: lcpid.cc:51
long PTRTYPE
Fortran interface - define the length of pointers this has to made machine independent ...
Definition: cpointer.h:12
LCIO_DEPRECATED_CAPI PTRTYPE lcpidcreate()
Header file for the f77-wrapper functions of the ParticleID Class.
Definition: lcpid.cc:13
LCIO_DEPRECATED_CAPI int lcpidgetpdg(PTRTYPE pid)
Definition: lcpid.cc:36
LCIO_DEPRECATED_CAPI float lcpidgetlikelihood(PTRTYPE pid)
Definition: lcpid.cc:41
LCIO_DEPRECATED_CAPI int lcpidgetalgorithmtype(PTRTYPE pid)
Definition: lcpid.cc:46
LCIO_DEPRECATED_CAPI int lcpidgettype(PTRTYPE pid)
Definition: lcpid.cc:31
LCIO_DEPRECATED_CAPI int lcpiddelete(PTRTYPE pid)
Definition: lcpid.cc:17
#define C2F_POINTER(T, ptr)
Definition: cpointer.h:33