Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
hadronic
models
lend
include
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, beck6@llnl.gov.
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
49
enum
tpia_map_status
{
tpia_map_status_Ok
,
tpia_map_status_memory
,
tpia_map_status_mapParsing
,
50
tpia_map_status_UnknownType
};
51
enum
tpia_mapEntry_type
{
tpia_mapEntry_type_target
,
tpia_mapEntry_type_path
};
52
53
typedef
struct
tpia_map_s
tpia_map
;
54
typedef
struct
tpia_mapEntry_s
tpia_mapEntry
;
55
typedef
struct
tpia_map_smr_s
tpia_map_smr
;
56
57
struct
tpia_map_smr_s
{
58
smr_userInterface
smrUserInterface
;
59
tpia_map
*
map
;
60
};
61
62
struct
tpia_mapEntry_s
{
63
tpia_mapEntry
*
next
;
64
enum
tpia_mapEntry_type
type;
65
char
*
schema
;
66
char
*
path
;
67
char
*
evaluation
;
68
char
*
projectile
;
69
char
*
targetName
;
70
tpia_map
*
map
;
71
};
72
73
struct
tpia_map_s
{
74
enum
tpia_map_status
status;
75
tpia_map_smr
smrUserInterface
;
76
char
*
path
;
77
char
*
mapFileName
;
78
int
numberOfEntries
;
79
tpia_mapEntry
*
mapEntries
;
80
};
81
82
tpia_map
*
tpia_map_create
(
statusMessageReporting
*smr );
83
int
tpia_map_initialize
(
statusMessageReporting
*smr,
tpia_map
*map );
84
tpia_map
*
tpia_map_readFile
(
statusMessageReporting
*smr,
const
char
*basePath,
const
char
*mapFileName );
85
void
*
tpia_map_free
(
statusMessageReporting
*smr,
tpia_map
*map );
86
void
tpia_map_release
(
statusMessageReporting
*smr,
tpia_map
*map );
87
tpia_mapEntry
*
tpia_map_getFirstEntry
(
tpia_map
*map );
88
tpia_mapEntry
*
tpia_map_getNextEntry
(
tpia_mapEntry
*entry );
89
int
tpia_map_addTarget
(
statusMessageReporting
*smr,
tpia_map
*map,
const
char
*method,
const
char
*path,
const
char
*evaluation,
const
char
*projectile,
const
char
*targetName );
90
int
tpia_map_addPath
(
statusMessageReporting
*smr,
tpia_map
*map,
const
char
*path,
const
char
*projectile );
91
char
*
tpia_map_findTarget
(
statusMessageReporting
*smr,
tpia_map
*map,
const
char
*evaluation,
const
char
*projectile,
const
char
*targetName );
92
tpia_map
*
tpia_map_findAllOfTarget
(
statusMessageReporting
*smr,
tpia_map
*map,
const
char
*projectile,
const
char
*targetName );
93
char
*
tpia_map_getFullPath
(
statusMessageReporting
*smr,
tpia_map
*map,
const
char
*endPath );
94
int
tpia_map_walkTree
(
statusMessageReporting
*smr,
tpia_map
*map,
int
(*handler)(
tpia_mapEntry
*entry,
int
level,
void
*
userData
),
void
*userData );
95
char
*
tpia_map_toXMLString
(
statusMessageReporting
*smr,
tpia_map
*map );
96
void
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. */
Generated on Sat May 25 2013 14:34:00 for Geant4 by
1.8.4