LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lcvtx.cc
Go to the documentation of this file.
1 #include "CPPFORT/lcvtx.h"
2 
3 #include "lcio.h"
4 #include "IMPL/VertexImpl.h"
6 
7 using namespace lcio ;
8 
9 #include <iostream>
10 
11 // create delete Vertex
12 
14  VertexImpl* vtx = new VertexImpl ;
15  return C2F_POINTER( LCObject*, vtx ) ;
16 }
17 int lcvtxdelete( PTRTYPE vertex ){
18  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
19  delete vtx ;
20  return LCIO::SUCCESS ;
21 }
22 
23 
24 // get Methods
25 
26 int lcvtxid( PTRTYPE vertex ) {
27  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
28  return vtx->id() ;
29 }
30 
31 bool lcvtxisprimary ( PTRTYPE vertex ) {
32  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
33  return vtx->isPrimary() ;
34 }
35 
36 char* lcvtxgetalgorithmtype ( PTRTYPE vertex ) {
37  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
38  return const_cast<char*>( vtx->getAlgorithmType().c_str() );
39 }
40 
41 float lcvtxgetchi2( PTRTYPE vertex ) {
42  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
43  return vtx->getChi2() ;
44 }
45 
46 float lcvtxgetprobability( PTRTYPE vertex ) {
47  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
48  return vtx->getProbability() ;
49 }
50 
51 int lcvtxgetposition( PTRTYPE vertex, float pos[3] ) {
52  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
53  for( int i=0 ; i<3 ; *pos++ = vtx->getPosition()[i++] ) ;
54  return LCIO::SUCCESS ;
55 }
56 
57 int lcvtxgetcovmatrix( PTRTYPE vertex, float cvmtx[VTXCOVMATRIX] ) {
58  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
59  for( int i=0 ; i<VTXCOVMATRIX ; i++ ) cvmtx[i] = vtx->getCovMatrix()[i] ;
60  return LCIO::SUCCESS ;
61 }
62 
63 int lcvtxgetparameters( PTRTYPE vertex, float* vec, int* nvec ) {
64  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
65  int ntot = *nvec - 1 ;
66  const FloatVec* floatVec = &vtx->getParameters() ;
67  for(unsigned int l=0; l < floatVec->size(); l++){
68  if ( l > (unsigned)(ntot) ) {
69  std::cout << "LCVertex: in getParameters more than " << ntot << "parameters to store" << std::endl ;
70  return LCIO::ERROR ;
71  }
72  *vec++ = (*floatVec)[l] ;
73  }
74  *nvec = (int)(floatVec->size() + 1);
75  return LCIO::SUCCESS ;
76 }
77 
79  Vertex* vtx = f2c_pointer<Vertex,LCObject>( vertex ) ;
80  ReconstructedParticle* recP = vtx->getAssociatedParticle();
81  return reinterpret_cast<PTRTYPE>( recP );
82 }
83 
84 
85 // set,add Methods
86 
87 int lcvtxsetprimary( PTRTYPE vertex, bool pri ) {
88  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
89  vtx->setPrimary( pri ) ;
90  return LCIO::SUCCESS ;
91 }
92 
93 int lcvtxsetalgorithmtype( PTRTYPE vertex, char* type ) {
94  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
95  vtx->setAlgorithmType( type ) ;
96  return LCIO::SUCCESS ;
97 }
98 
99 int lcvtxsetchi2( PTRTYPE vertex, float chi2 ) {
100  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
101  vtx->setChi2( chi2 ) ;
102  return LCIO::SUCCESS ;
103 }
104 
105 int lcvtxsetprobability( PTRTYPE vertex, float probability ) {
106  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
107  vtx->setProbability( probability ) ;
108  return LCIO::SUCCESS ;
109 }
110 
111 int lcvtxsetposition( PTRTYPE vertex, float pos[3] ) {
112  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
113  vtx->setPosition( pos ) ;
114  return LCIO::SUCCESS ;
115 }
116 
117 int lcvtxsetcovmatrix( PTRTYPE vertex, float cvmtx[VTXCOVMATRIX] ) {
118  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
119  vtx->setCovMatrix( cvmtx ) ;
120  return LCIO::SUCCESS ;
121 }
122 
123 int lcvtxaddparameter( PTRTYPE vertex, float param) {
124  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
125  vtx->addParameter( param ) ;
126  return LCIO::SUCCESS ;
127 }
128 
129 int lcvtxsetassociatedparticle( PTRTYPE vertex, PTRTYPE particle ) {
130  VertexImpl* vtx = f2c_pointer<VertexImpl,LCObject>( vertex ) ;
131  ReconstructedParticle* rcp = f2c_pointer<ReconstructedParticle,LCObject>( particle ) ;
132  vtx->setAssociatedParticle( rcp ) ;
133  return LCIO::SUCCESS ;
134 }
135 
LCIO_DEPRECATED_CAPI float lcvtxgetprobability(PTRTYPE vtx)
Definition: lcvtx.cc:46
LCIO_DEPRECATED_CAPI int lcvtxaddparameter(PTRTYPE vtx, float param)
Definition: lcvtx.cc:123
LCIO_DEPRECATED_CAPI int lcvtxsetalgorithmtype(PTRTYPE vtx, char *type)
Definition: lcvtx.cc:93
LCIO_DEPRECATED_CAPI int lcvtxdelete(PTRTYPE vtx)
Definition: lcvtx.cc:17
LCIO_DEPRECATED_CAPI PTRTYPE lcvtxcreate()
Header file for the f77-wrapper functions of the Vertex Class.
Definition: lcvtx.cc:13
LCIO_DEPRECATED_CAPI int lcvtxsetchi2(PTRTYPE vtx, float chi2)
Definition: lcvtx.cc:99
std::vector< float > FloatVec
Vector of floats.
Definition: LCIOSTLTypes.h:18
T endl(T...args)
LCIO_DEPRECATED_CAPI int lcvtxsetposition(PTRTYPE vtx, float *pos)
#define VTXCOVMATRIX
Definition: VertexImpl.h:9
LCIO_DEPRECATED_CAPI int lcvtxid(PTRTYPE vtx)
Definition: lcvtx.cc:26
LCIO_DEPRECATED_CAPI int lcvtxsetprimary(PTRTYPE vtx, bool pri)
Definition: lcvtx.cc:87
long PTRTYPE
Fortran interface - define the length of pointers this has to made machine independent ...
Definition: cpointer.h:12
LCIO_DEPRECATED_CAPI int lcvtxsetassociatedparticle(PTRTYPE vtx, PTRTYPE rcp)
Definition: lcvtx.cc:129
LCIO_DEPRECATED_CAPI int lcvtxgetcovmatrix(PTRTYPE vtx, float *cvmtx)
LCIO_DEPRECATED_CAPI int lcvtxgetparameters(PTRTYPE vtx, float *vec, int *nvec)
Definition: lcvtx.cc:63
LCIO_DEPRECATED_CAPI int lcvtxsetcovmatrix(PTRTYPE vtx, float *cvmtx)
LCIO_DEPRECATED_CAPI PTRTYPE lcvtxgetassociatedparticle(PTRTYPE vtx)
Definition: lcvtx.cc:78
LCIO_DEPRECATED_CAPI float lcvtxgetchi2(PTRTYPE vtx)
Definition: lcvtx.cc:41
LCIO_DEPRECATED_CAPI char * lcvtxgetalgorithmtype(PTRTYPE vtx)
Definition: lcvtx.cc:36
LCIO_DEPRECATED_CAPI int lcvtxsetprobability(PTRTYPE vtx, float prob)
Definition: lcvtx.cc:105
LCIO_DEPRECATED_CAPI int lcvtxgetposition(PTRTYPE vtx, float *pos)
#define C2F_POINTER(T, ptr)
Definition: cpointer.h:33
LCIO_DEPRECATED_CAPI bool lcvtxisprimary(PTRTYPE vtx)
Definition: lcvtx.cc:31