EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
htclib.h File Reference
#include <ayk.h>
#include <Mgrid.h>
#include <cfortran.h>
+ Include dependency graph for htclib.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  t_cmd_line_variable
 
struct  t_cmd_line_variable_array
 
struct  t_particle
 
struct  t_particle_group
 

Macros

#define _SX_   2
 
#define _SY_   3
 
#define _QP_   4
 
#define _USE_GEANT3_MOLIERE_CHC_
 
#define f2cFortran
 
#define CFSUBASFUN
 
#define _HTC_LIB_
 
#define _POSITIVE_   0
 
#define _NEGATIVE_   1
 
#define _RETURN_(ret, message)   { if (message) printf(message); return(ret); }
 
#define _TERMINATE_(ret, message)   { printf(message); exit (ret); }
 
#define DSINV(N, A, IDIM, IFAIL)   CCALLSFSUB4(DSINV,dsinv,INT,DOUBLEV,INT,PINT,N,A,IDIM,IFAIL)
 
#define DINV(N, A, IDIM, IR, IFAIL)   CCALLSFSUB5(DINV, dinv, INT, DOUBLEV, INT, INTV, PINT, N, A, IDIM, IR, IFAIL)
 
#define PROB(X, N)   CCALLSFFUN2(PROB,prob_htc,FLOAT,INT,X,N)
 
#define _CMD_LINE_VARIABLE_NUM_MAX_   10
 
#define G3ZEBRA(P1)   CCALLSFSUB1(G3ZEBRA, g3zebra, INT, P1)
 
#define G3INIT()   CCALLSFSUB0(G3INIT, g3init)
 
#define G3ZINIT()   CCALLSFSUB0(G3ZINIT, g3zinit)
 
#define G3PHYSI()   CCALLSFSUB0(G3PHYSI, g3physi)
 
#define G3DRELX(A, Z, DENS, T, HMASS, DEDX)   CCALLSFSUB6(G3DRELX,g3drelx,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,HMASS,DEDX)
 
#define G3PROBI(NLMAT, WMAT, AAA, ZZZ, DENS, POTL, FAC, C, X0, X1, AA)
 
#define G3MOLI(P1, P2, P3, P4, P5, P6, P7)
 
#define _DEDX_HADRON_   0
 
#define _DEDX_ELECTRON_   1
 
#define _USE_XF_   0
 
#define _USE_XS_   1
 
#define _USE_00_   2
 
#define _RK_ORDER_2_   0
 
#define _RK_ORDER_4_   1
 
#define _RK_ORDER_5_   2
 
#define _FIELD_AREA_NUM_MAX_   3
 
#define _RK_SMALL_STEP_DEFAULT_   (2.0)
 
#define _LIGHT_SPEED_   (299792458E2)
 
#define _INTERPOLATION_PREFIX_   "interpolation="
 
#define _RK_HERMES_   0
 
#define _RK_HERA_B_   1
 

Functions

int check_prefix (char *str, char *prefix)
 
int check_and_remove_suffix (char *ptr, char *suffix)
 
int assign_dimensional_value (char *string, char *suffix, double *value, double scale)
 
int cmd_line_variable_parser (char *str, t_cmd_line_variable_array *array)
 
int redirect_fortran_output (char *std_out, char *std_err)
 
 PROTOCCALLSFFUN11 (INT, G3PROBI, g3probi, INT, FLOATV, FLOATV, FLOATV, FLOAT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE) typedef struct
 
t_particleget_particle_by_name (const char *name)
 
t_particle_groupget_particle_group_by_name (const char *name)
 
int parse_htc_interpolation_string (char *string, t_htc_interpolation *htci)
 
int runge_kutta_fun (int argc, char **argv)
 

Variables

char XYZ [3]
 
 t_geant_name
 
t_particle_group particle_groups []
 
int particle_group_num
 
double _drv_steps [4]
 
int field_missing_flags [_FIELD_AREA_NUM_MAX_]
 
t_htc_interpolation RK_htci
 
double a2
 
double a3
 
double a4
 
double a5
 
double a6
 
int RK_flavor
 
double RK_fixed_cell_width
 
double RK_cell_width_max
 
double RK_small_step_limit
 
int RK_small_step_order
 

Macro Definition Documentation

#define _CMD_LINE_VARIABLE_NUM_MAX_   10

Definition at line 53 of file htclib.h.

View newest version in sPHENIX GitHub at line 53 of file htclib.h

Referenced by cmd_line_variable_parser().

#define _DEDX_ELECTRON_   1

Definition at line 188 of file htclib.h.

View newest version in sPHENIX GitHub at line 188 of file htclib.h

Referenced by MediaSliceArray::GetDE().

#define _DEDX_HADRON_   0

Definition at line 187 of file htclib.h.

View newest version in sPHENIX GitHub at line 187 of file htclib.h

Referenced by MediaSliceArray::GetDE().

#define _FIELD_AREA_NUM_MAX_   3

Definition at line 246 of file htclib.h.

View newest version in sPHENIX GitHub at line 246 of file htclib.h

#define _HTC_LIB_

Definition at line 26 of file htclib.h.

View newest version in sPHENIX GitHub at line 26 of file htclib.h

#define _INTERPOLATION_PREFIX_   "interpolation="

Definition at line 271 of file htclib.h.

View newest version in sPHENIX GitHub at line 271 of file htclib.h

Referenced by parse_htc_interpolation_string(), and runge_kutta_fun().

#define _LIGHT_SPEED_   (299792458E2)

Definition at line 254 of file htclib.h.

View newest version in sPHENIX GitHub at line 254 of file htclib.h

Referenced by RungeKuttaRequest::kk().

#define _NEGATIVE_   1

Definition at line 30 of file htclib.h.

View newest version in sPHENIX GitHub at line 30 of file htclib.h

#define _POSITIVE_   0

Definition at line 29 of file htclib.h.

View newest version in sPHENIX GitHub at line 29 of file htclib.h

#define _QP_   4

Definition at line 13 of file htclib.h.

View newest version in sPHENIX GitHub at line 13 of file htclib.h

Referenced by TrKalmanFilter::ResetNode(), FwdTrackFinder::ResetVtxNode(), TrKalmanFilter::Transport(), and FwdTrackFinder::UpdateVtxNode().

#define _RETURN_ (   ret,
  message 
)    { if (message) printf(message); return(ret); }
#define _RK_HERA_B_   1

Definition at line 274 of file htclib.h.

View newest version in sPHENIX GitHub at line 274 of file htclib.h

Referenced by runge_kutta_fun().

#define _RK_HERMES_   0

Definition at line 273 of file htclib.h.

View newest version in sPHENIX GitHub at line 273 of file htclib.h

Referenced by runge_kutta_fun().

#define _RK_ORDER_2_   0

Definition at line 234 of file htclib.h.

View newest version in sPHENIX GitHub at line 234 of file htclib.h

Referenced by TrKalmanFilter::InitializeRungeKuttaFrames(), runge_kutta_fun(), and RungeKuttaRequest::serveRequest().

#define _RK_ORDER_4_   1

Definition at line 235 of file htclib.h.

View newest version in sPHENIX GitHub at line 235 of file htclib.h

Referenced by TrKalmanFilter::InitializeRungeKuttaFrames(), runge_kutta_fun(), and RungeKuttaRequest::serveRequest().

#define _RK_ORDER_5_   2

Definition at line 236 of file htclib.h.

View newest version in sPHENIX GitHub at line 236 of file htclib.h

Referenced by TrKalmanFilter::InitializeRungeKuttaFrames(), and RungeKuttaRequest::serveRequest().

#define _RK_SMALL_STEP_DEFAULT_   (2.0)

Definition at line 251 of file htclib.h.

View newest version in sPHENIX GitHub at line 251 of file htclib.h

#define _SX_   2

Definition at line 11 of file htclib.h.

View newest version in sPHENIX GitHub at line 11 of file htclib.h

Referenced by TrKalmanFilter::CalculateProcessNoise(), TrKalmanFilter::ResetNode(), FwdTrackFinder::ResetVtxNode(), and FwdTrackFinder::UpdateVtxNode().

#define _TERMINATE_ (   ret,
  message 
)    { printf(message); exit (ret); }

Definition at line 35 of file htclib.h.

View newest version in sPHENIX GitHub at line 35 of file htclib.h

#define _USE_00_   2

Definition at line 231 of file htclib.h.

View newest version in sPHENIX GitHub at line 231 of file htclib.h

Referenced by EicHtcTask::ConstructLinearTrackApproximation(), TrKalmanFilter::ResetNode(), and FwdHoughTree::SetupKalmanFilter().

#define _USE_GEANT3_MOLIERE_CHC_

Definition at line 16 of file htclib.h.

View newest version in sPHENIX GitHub at line 16 of file htclib.h

#define _USE_XF_   0

Definition at line 229 of file htclib.h.

View newest version in sPHENIX GitHub at line 229 of file htclib.h

Referenced by EicHtcTask::Exec(), and TrKalmanFilter::ResetNode().

#define _USE_XS_   1

Definition at line 230 of file htclib.h.

View newest version in sPHENIX GitHub at line 230 of file htclib.h

Referenced by EicHtcTask::Exec().

#define CFSUBASFUN

Definition at line 22 of file htclib.h.

View newest version in sPHENIX GitHub at line 22 of file htclib.h

#define DINV (   N,
  A,
  IDIM,
  IR,
  IFAIL 
)    CCALLSFSUB5(DINV, dinv, INT, DOUBLEV, INT, INTV, PINT, N, A, IDIM, IR, IFAIL)

Definition at line 45 of file htclib.h.

View newest version in sPHENIX GitHub at line 45 of file htclib.h

#define DSINV (   N,
  A,
  IDIM,
  IFAIL 
)    CCALLSFSUB4(DSINV,dsinv,INT,DOUBLEV,INT,PINT,N,A,IDIM,IFAIL)

Definition at line 43 of file htclib.h.

View newest version in sPHENIX GitHub at line 43 of file htclib.h

#define f2cFortran

Definition at line 21 of file htclib.h.

View newest version in sPHENIX GitHub at line 21 of file htclib.h

#define G3DRELX (   A,
  Z,
  DENS,
  T,
  HMASS,
  DEDX 
)    CCALLSFSUB6(G3DRELX,g3drelx,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT,PFLOAT,A,Z,DENS,T,HMASS,DEDX)

Definition at line 113 of file htclib.h.

View newest version in sPHENIX GitHub at line 113 of file htclib.h

Referenced by MediaSliceArray::GetDE().

#define G3INIT ( )    CCALLSFSUB0(G3INIT, g3init)

Definition at line 106 of file htclib.h.

View newest version in sPHENIX GitHub at line 106 of file htclib.h

Referenced by EicHtcTask::Init().

#define G3MOLI (   P1,
  P2,
  P3,
  P4,
  P5,
  P6,
  P7 
)
Value:
CCALLSFSUB7(G3MOLI, g3moli, FLOATV, FLOATV, FLOATV, INT, FLOAT, PFLOAT, PFLOAT, \
P1, P2, P3, P4, P5, P6, P7)

Referenced by MediaLayer::MediaLayer().

#define G3PHYSI ( )    CCALLSFSUB0(G3PHYSI, g3physi)

Definition at line 110 of file htclib.h.

View newest version in sPHENIX GitHub at line 110 of file htclib.h

Referenced by EicHtcTask::Init().

#define G3PROBI (   NLMAT,
  WMAT,
  AAA,
  ZZZ,
  DENS,
  POTL,
  FAC,
  C,
  X0,
  X1,
  AA 
)
Value:
CCALLSFSUB11(G3PROBI,g3probi,INT,FLOATV,FLOATV,FLOATV,FLOAT, \
PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,PDOUBLE,NLMAT,WMAT,AAA,ZZZ,DENS,POTL,FAC,C,X0,X1,AA)

Definition at line 117 of file htclib.h.

View newest version in sPHENIX GitHub at line 117 of file htclib.h

#define G3ZEBRA (   P1)    CCALLSFSUB1(G3ZEBRA, g3zebra, INT, P1)

Definition at line 103 of file htclib.h.

View newest version in sPHENIX GitHub at line 103 of file htclib.h

Referenced by EicHtcTask::Init().

#define G3ZINIT ( )    CCALLSFSUB0(G3ZINIT, g3zinit)

Definition at line 108 of file htclib.h.

View newest version in sPHENIX GitHub at line 108 of file htclib.h

Referenced by EicHtcTask::Init().

#define PROB (   X,
 
)    CCALLSFFUN2(PROB,prob_htc,FLOAT,INT,X,N)

Definition at line 49 of file htclib.h.

View newest version in sPHENIX GitHub at line 49 of file htclib.h

Function Documentation

int assign_dimensional_value ( char *  string,
char *  suffix,
double *  value,
double  scale 
)

Definition at line 48 of file misc.cxx.

View newest version in sPHENIX GitHub at line 48 of file misc.cxx

References check_and_remove_suffix().

+ Here is the call graph for this function:

int check_and_remove_suffix ( char *  ptr,
char *  suffix 
)

Definition at line 33 of file misc.cxx.

View newest version in sPHENIX GitHub at line 33 of file misc.cxx

Referenced by assign_dimensional_value(), and cmd_line_variable_parser().

+ Here is the caller graph for this function:

int check_prefix ( char *  str,
char *  prefix 
)

Definition at line 22 of file misc.cxx.

View newest version in sPHENIX GitHub at line 22 of file misc.cxx

Referenced by KalmanFilter::Configure(), parse_htc_interpolation_string(), and runge_kutta_fun().

+ Here is the caller graph for this function:

int cmd_line_variable_parser ( char *  str,
t_cmd_line_variable_array array 
)

Definition at line 69 of file misc.cxx.

View newest version in sPHENIX GitHub at line 69 of file misc.cxx

References t_cmd_line_variable::_assigned, _CMD_LINE_VARIABLE_NUM_MAX_, t_cmd_line_variable_array::actual_variable_num, t_cmd_line_variable::addr, check_and_remove_suffix(), ip(), t_cmd_line_variable::max, t_cmd_line_variable::min, t_cmd_line_variable::plen, t_cmd_line_variable::prefix, printf(), t_cmd_line_variable::suffix, and t_cmd_line_variable_array::variables.

Referenced by runge_kutta_fun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

t_particle* get_particle_by_name ( const char *  name)

Definition at line 39 of file geant.cxx.

View newest version in sPHENIX GitHub at line 39 of file geant.cxx

References t_particle_group::members, t_particle::name, particle, and particle_group_num.

t_particle_group* get_particle_group_by_name ( const char *  name)

Definition at line 55 of file geant.cxx.

View newest version in sPHENIX GitHub at line 55 of file geant.cxx

int parse_htc_interpolation_string ( char *  string,
t_htc_interpolation htci 
)

Definition at line 44 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 44 of file runge-kutta.cxx

References _INTERPOLATION_PREFIX_, _MODE_ADIM_, _MODE_HRC_, _MODE_OFF_, t_htc_interpolation::adim, check_prefix(), t_htc_interpolation::mode, and x.

Referenced by runge_kutta_fun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PROTOCCALLSFFUN11 ( INT  ,
G3PROBI  ,
g3probi  ,
INT  ,
FLOATV  ,
FLOATV  ,
FLOATV  ,
FLOAT  ,
PDOUBLE  ,
PDOUBLE  ,
PDOUBLE  ,
PDOUBLE  ,
PDOUBLE  ,
PDOUBLE   
)

Definition at line 120 of file htclib.h.

View newest version in sPHENIX GitHub at line 120 of file htclib.h

References name.

int redirect_fortran_output ( char *  std_out,
char *  std_err 
)
int runge_kutta_fun ( int  argc,
char **  argv 
)

Definition at line 103 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 103 of file runge-kutta.cxx

References _INTERPOLATION_PREFIX_, _MODE_ADIM_, _RETURN_, _RK_HERA_B_, _RK_HERMES_, _RK_ORDER_2_, _RK_ORDER_4_, _SMALL_STEP_ORDER_PREFIX_, _Z_, t_htc_interpolation::adim, check_prefix(), cmd_line_variable_parser(), t_htc_interpolation::mode, parse_htc_interpolation_string(), printf(), RK_flavor, and RK_small_step_order.

Referenced by EicHtcTask::ConfigureKalmanFilter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

double _drv_steps[4]

Definition at line 21 of file SensitiveVolume.cxx.

View newest version in sPHENIX GitHub at line 21 of file SensitiveVolume.cxx

Referenced by TrKalmanFilter::CalculateHMatrix(), and TrKalmanNode::PerformRungeKuttaStep().

double a5
double a6
int field_missing_flags[_FIELD_AREA_NUM_MAX_]

Definition at line 24 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 24 of file runge-kutta.cxx

int particle_group_num

Definition at line 34 of file geant.cxx.

View newest version in sPHENIX GitHub at line 34 of file geant.cxx

Referenced by get_particle_by_name(), and get_particle_group_by_name().

t_particle_group particle_groups[]

Definition at line 24 of file geant.cxx.

View newest version in sPHENIX GitHub at line 24 of file geant.cxx

double RK_cell_width_max

Definition at line 17 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 17 of file runge-kutta.cxx

double RK_fixed_cell_width

Definition at line 17 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 17 of file runge-kutta.cxx

int RK_flavor

Definition at line 27 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 27 of file runge-kutta.cxx

Referenced by runge_kutta_fun().

Definition at line 21 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 21 of file runge-kutta.cxx

Referenced by HtcKalmanFilter::InitializeMgridSlice().

double RK_small_step_limit

Definition at line 18 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 18 of file runge-kutta.cxx

Referenced by TrKalmanFilter::InitializeRungeKuttaFrames().

int RK_small_step_order

Definition at line 20 of file runge-kutta.cxx.

View newest version in sPHENIX GitHub at line 20 of file runge-kutta.cxx

Referenced by TrKalmanFilter::InitializeRungeKuttaFrames(), and runge_kutta_fun().

t_geant_name

Definition at line 184 of file htclib.h.

View newest version in sPHENIX GitHub at line 184 of file htclib.h

char XYZ[3]

Definition at line 18 of file misc.cxx.

View newest version in sPHENIX GitHub at line 18 of file misc.cxx