Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
tpia_map.h
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# Copyright (c) 2010, Lawrence Livermore National Security, LLC.
4# Produced at the Lawrence Livermore National Laboratory
5# Written by Bret R. Beck, [email protected].
6# CODE-461393
7# All rights reserved.
8#
9# This file is part of GIDI. For details, see nuclear.llnl.gov.
10# Please also read the "Additional BSD Notice" at nuclear.llnl.gov.
11#
12# Redistribution and use in source and binary forms, with or without modification,
13# are permitted provided that the following conditions are met:
14#
15# 1) Redistributions of source code must retain the above copyright notice,
16# this list of conditions and the disclaimer below.
17# 2) Redistributions in binary form must reproduce the above copyright notice,
18# this list of conditions and the disclaimer (as noted below) in the
19# documentation and/or other materials provided with the distribution.
20# 3) Neither the name of the LLNS/LLNL nor the names of its contributors may be
21# used to endorse or promote products derived from this software without
22# specific prior written permission.
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27# SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
28# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
33# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34# <<END-copyright>>
35*/
36#ifndef tpia_map_h_included
37#define tpia_map_h_included
38
39#if defined __cplusplus
40 extern "C" {
41#endif
42
43#include <xData.h>
44
45#if defined __cplusplus
46 namespace GIDI {
47#endif
48
52
53typedef struct tpia_map_s tpia_map;
56
60};
61
65 char *schema;
66 char *path;
71};
72
73struct tpia_map_s {
76 char *path;
80};
81
84tpia_map *tpia_map_readFile( statusMessageReporting *smr, const char *basePath, const char *mapFileName );
89int tpia_map_addTarget( statusMessageReporting *smr, tpia_map *map, const char *method, const char *path, const char *evaluation, const char *projectile, const char *targetName );
90int tpia_map_addPath( statusMessageReporting *smr, tpia_map *map, const char *path, const char *projectile );
91char *tpia_map_findTarget( statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectile, const char *targetName );
92tpia_map *tpia_map_findAllOfTarget( statusMessageReporting *smr, tpia_map *map, const char *projectile, const char *targetName );
93char *tpia_map_getFullPath( statusMessageReporting *smr, tpia_map *map, const char *endPath );
94int tpia_map_walkTree( statusMessageReporting *smr, tpia_map *map, int (*handler)( tpia_mapEntry *entry, int level, void *userData), void *userData );
96void tpia_map_simpleWrite( FILE *f, tpia_map *map );
97
98#if defined __cplusplus
99 }
100 }
101#endif
102
103#endif /* End of tpia_map_h_included. */
int(* smr_userInterface)(void *userData, char **smr)
char * projectile
Definition: tpia_map.h:68
char * evaluation
Definition: tpia_map.h:67
char * path
Definition: tpia_map.h:66
char * schema
Definition: tpia_map.h:65
char * targetName
Definition: tpia_map.h:69
tpia_mapEntry * next
Definition: tpia_map.h:63
enum tpia_mapEntry_type type
Definition: tpia_map.h:64
tpia_map * map
Definition: tpia_map.h:70
tpia_map_smr smrUserInterface
Definition: tpia_map.h:75
char * mapFileName
Definition: tpia_map.h:77
enum tpia_map_status status
Definition: tpia_map.h:74
tpia_mapEntry * mapEntries
Definition: tpia_map.h:79
int numberOfEntries
Definition: tpia_map.h:78
char * path
Definition: tpia_map.h:76
tpia_map * map
Definition: tpia_map.h:59
smr_userInterface smrUserInterface
Definition: tpia_map.h:58
tpia_map * tpia_map_create(statusMessageReporting *smr)
Definition: tpia_map.cc:59
char * tpia_map_toXMLString(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:478
tpia_map_status
Definition: tpia_map.h:49
@ tpia_map_status_memory
Definition: tpia_map.h:49
@ tpia_map_status_UnknownType
Definition: tpia_map.h:50
@ tpia_map_status_Ok
Definition: tpia_map.h:49
@ tpia_map_status_mapParsing
Definition: tpia_map.h:49
void tpia_map_simpleWrite(FILE *f, tpia_map *map)
Definition: tpia_map.cc:527
int tpia_map_initialize(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:73
char * tpia_map_getFullPath(statusMessageReporting *smr, tpia_map *map, const char *endPath)
Definition: tpia_map.cc:437
tpia_mapEntry * tpia_map_getNextEntry(tpia_mapEntry *entry)
Definition: tpia_map.cc:222
tpia_map * tpia_map_readFile(statusMessageReporting *smr, const char *basePath, const char *mapFileName)
Definition: tpia_map.cc:88
char * tpia_map_findTarget(statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectile, const char *targetName)
Definition: tpia_map.cc:327
void tpia_map_release(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:193
tpia_mapEntry * tpia_map_getFirstEntry(tpia_map *map)
Definition: tpia_map.cc:215
int tpia_map_walkTree(statusMessageReporting *smr, tpia_map *map, int(*handler)(tpia_mapEntry *entry, int level, void *userData), void *userData)
Definition: tpia_map.cc:457
tpia_map * tpia_map_findAllOfTarget(statusMessageReporting *smr, tpia_map *map, const char *projectile, const char *targetName)
Definition: tpia_map.cc:393
int tpia_map_addTarget(statusMessageReporting *smr, tpia_map *map, const char *method, const char *path, const char *evaluation, const char *projectile, const char *targetName)
Definition: tpia_map.cc:229
tpia_mapEntry_type
Definition: tpia_map.h:51
@ tpia_mapEntry_type_target
Definition: tpia_map.h:51
@ tpia_mapEntry_type_path
Definition: tpia_map.h:51
int tpia_map_addPath(statusMessageReporting *smr, tpia_map *map, const char *path, const char *projectile)
Definition: tpia_map.cc:236
void * tpia_map_free(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:184
#define userData
Definition: xmlparse.cc:555