3 use vars
qw(%dir_list);
5 "art_Persistency_Common" =>
"art::Persistency_Common",
6 "art_Persistency_Provenance" =>
"art::Persistency_Provenance",
7 "art_Framework_Principal" =>
"art::Framework_Principal",
8 "art_Framework_Services_Registry" =>
"art::Framework_Services_Registry",
9 "art_Framework_Services_Optional_RandomNumberGenerator_service" =>
"art::Framework_Services_Optional_RandomNumberGenerator_service",
10 "art_Framework_IO_ProductMix" =>
"art::Framework_IO_ProductMix",
11 "art_Utilities" =>
"art::Utilities",
12 "MF_MessageLogger" =>
"messagefacility::MF_MessageLogger",
13 "FHICLCPP" =>
"fhiclcpp::fhiclcpp",
14 "canvas" =>
"canvas::canvas",
15 "cetlib" =>
"cetlib::cetlib",
16 "cetlib_except" =>
"cetlib_except::cetlib_except",
17 "IFDH_SERVICE" =>
"ifdh_art::IFDH_service",
18 "SQLITE" =>
"SQLite::SQLite3",
19 "G4EVENT" =>
"Geant4::G4event",
20 "G4DIGITS_HITS" =>
"Geant4::G4digits_hits",
21 "G4GEOMETRY" =>
"Geant4::G4geometry",
22 "G4GLOBAL" =>
"Geant4::G4global",
23 "G4GRAPHICS_REPS" =>
"Geant4::G4graphics_reps",
24 "G4INTERCOMS" =>
"Geant4::G4intercoms",
25 "G4INTERFACES" =>
"Geant4::G4interfaces",
26 "G4MATERIALS" =>
"Geant4::G4materials",
27 "G4MODELING" =>
"Geant4::G4modeling",
28 "G4PARTICLES" =>
"Geant4::G4particles",
29 "G4PERSISTENCY" =>
"Geant4::G4persistency",
30 "G4PHYSICSLISTS" =>
"Geant4::G4physicslists",
31 "G4PROCESSES" =>
"Geant4::G4processes",
32 "G4READOUT" =>
"Geant4::G4readout",
33 "G4RUN" =>
"Geant4::G4run",
34 "G4TRACKING" =>
"Geant4::G4tracking",
35 "G4TRACK" =>
"Geant4::G4track",
36 "G4FR" =>
"Geant4::G4FR",
37 "G4GMOCREN" =>
"Geant4::G4GMocren",
38 "G4RAYTRACER" =>
"Geant4::G4RayTracer",
39 "G4TREE" =>
"Geant4::G4Tree",
40 "G4VRML" =>
"Geant4::G4VRML",
41 "G4VISHEPREP" =>
"Geant4::G4visHepRep",
42 "G4VIS_MANAGEMENT" =>
"Geant4::G4vis_management",
43 "XERCESC" =>
"XercesC::XercesC",
44 "LOG4CPP" =>
"log4cpp::log4cpp",
45 "nusimdata_SimulationBase" =>
"nusimdata::SimulationBase",
46 "nuevdb_EventDisplayBase" =>
"nuevdb::EventDisplayBase",
47 "nuevdb_EventDisplayBase_Colors_service" =>
"nuevdb::EventDisplayBase_Colors_service",
48 "nuevdb_EventDisplayBase_EventDisplay_service" =>
"nuevdb::EventDisplayBase_EventDisplay_service",
49 "nuevdb_EventDisplayBase_ScanOptions_service" =>
"nuevdb::EventDisplayBase_ScanOptions_service",
50 "nuevdb_IFDatabase_DBI_service" =>
"nuevdb::IFDatabase_DBI_service",
51 "nuevdb_IFDatabase" =>
"nuevdb::IFDatabase",
52 "nug4_AdditionalG4Physics" =>
"nug4::AdditionalG4Physics",
53 "nug4_G4Base" =>
"nug4::G4Base",
54 "nug4_MagneticFieldServices_MagneticFieldServiceStandard_service" =>
"nug4::MagneticFieldServices_MagneticFieldServiceStandard_service",
55 "nug4_MagneticField" =>
"nug4::MagneticField",
56 "nug4_ParticleNavigation" =>
"nug4::ParticleNavigation",
57 "nugen_NuReweight" =>
"nugen::NuReweight",
58 "nugen_NuReweight_art" =>
"nugen::NuReweight_art",
59 "nugen_NuReweight_art_ReweightAna_module" =>
"nugen::NuReweight_art_ReweightAna_module",
60 "nugen_EventGeneratorBase_GENIE" =>
"nugen::EventGeneratorBase_GENIE",
61 "nugen_EventGeneratorBase_GiBUU" =>
"nugen::EventGeneratorBase_GiBUU",
62 "nugen_EventGeneratorBase_Modules_AddGenieEventsToArt_module" =>
"nugen::EventGeneratorBase_Modules_AddGenieEventsToArt_module",
63 "nugen_EventGeneratorBase_Modules_GenieOutput_module" =>
"nugen::EventGeneratorBase_Modules_GenieOutput_module",
64 "nugen_EventGeneratorBase_Modules_TestGENIEHelper_module" =>
"nugen::EventGeneratorBase_Modules_TestGENIEHelper_module",
65 "nurandom_RandomUtils_NuRandomService_service" =>
"nurandom::RandomUtils_NuRandomService_service",
66 "nutools_EventGeneratorBase_CRY" =>
"nutools::EventGeneratorBase_CRY"
69 foreach my $lib (sort keys %dir_list) {
70 next
if m&add_subdirectory&i;
71 next
if m&find_ups_product&i;
72 next
if m&cet_find_library&i;
73 next
if m&simple_plugin&i;
74 next
if m&create_version_variables&i;
75 next
if m&SUBDIRNAME&i;
77 next
if m&LIBRARY_NAME&i;
79 next
if m&fhiclcpp::fhiclcpp&i;
80 next
if m&canvas::canvas&i;
81 next
if m&cetlib::cetlib&i;
82 next
if m&cetlib_except::cetlib_except&i;
83 next
if m&messagefacility::MF&i;
84 #s&\b\Q${lib}\E([^\.\s]*\b)([^\.]|$)&$dir_list{$lib}${1}${2}&g and last;
85 s&\b\Q${lib}\E\b([^\.]|$)&$dir_list{
$lib}${1}${2}&
g and last;
88 s&\$\{ART_FRAMEWORK_CORE\}&art::Framework_Core&;
89 s&\$\{ART_FRAMEWORK_IO_SOURCES\}&art::Framework_IO_Sources&;
90 s&\$\{ART_FRAMEWORK_PRINCIPAL\}&art::Framework_Principal&;
91 s&\$\{ART_FRAMEWORK_SERVICES_REGISTRY\}&art::Framework_Services_Registry&;
92 s&\$\{ART_FRAMEWORK_SERVICES_OPTIONAL_RANDOMNUMBERGENERATOR_SERVICE\}&art::Framework_Services_Optional_RandomNumberGenerator_service&;
93 s&\$\{ART_FRAMEWORK_SERVICES_OPTIONAL_TFILESERVICE_SERVICE\}&&;
94 s&\$\{ART_PERSISTENCY_COMMON\}&art::Persistency_Common&;
95 s&\$\{ART_PERSISTENCY_PROVENANCE\}&art::Persistency_Provenance&;
96 s&\$\{ART_UTILITIES\}&art::Utilities&;
97 s&\$\{ART_ROOT_IO\}&art_root_io::art_root_io&;
98 s&\$\{ART_ROOT_IO_ROOTDB\}&art_root_io::RootDB&;
99 s&\$\{ART_ROOT_IO_ROOTINPUT_SOURCE\}&art_root_io::RootInput_source&;
100 s&\$\{ART_ROOT_IO_TFILESERVICE_SERVICE\}&art_root_io::TFileService_service&;
101 s&\$\{ART_ROOT_IO_TFILE_SUPPORT\}&art_root_io::tfile_support&;
102 s&\$\{BOOST_DATE_TIME\}&Boost::date_time&;
103 s&\$\{Boost_DATE_TIME_LIBRARY\}&Boost::date_time&;
104 s&\$\{BOOST_FILESYSTEM\}&Boost::filesystem&;
105 s&\$\{Boost_FILESYSTEM_LIBRARY\}&Boost::filesystem&;
106 s&\$\{BOOST_REGEX\}&Boost::regex&;
107 s&\$\{Boost_SERIALIZATION_LIBRARY\}&Boost::serialization&;
108 s&\$\{BOOST_SYSTEM\}&&; # No longer
exists
109 s&\$\{Boost_SYSTEM_LIBRARY\}&&; # No longer
exists
110 s&\$\{BOOST_THREAD\}&Boost::thread&;
111 s&\$\{Boost_PROGRAM_OPTIONS_LIBRARY\}&Boost::program_options&;
112 s&\$\{CANVAS\}&canvas::canvas&;
113 s&\$\{CETLIB\}&cetlib::cetlib&;
114 s&\$\{CETLIB_EXCEPT\}&cetlib_except::cetlib_except&;
115 s&\$\{FHICLCPP\}&fhiclcpp::fhiclcpp&;
116 s&\$\{fhiclcpp::fhiclcpp\}&fhiclcpp::fhiclcpp&;
117 s&\$\{MF_MESSAGELOGGER\}&messagefacility::MF_MessageLogger&;
118 s&\$\{MF_UTILITIES\}&&; # No longer
exists
119 s&\$\{PANDORASDK\}&PANDORASDK&;
120 s&\$\{PANDORAMONITORING\}&PANDORAMONITORING&;
121 s&\$\{ROOT_CINT\}&&; # No longer
exists
122 s&\$\{ROOT_CORE\}&ROOT::Core&;
123 s&\$\{ROOT_EG\}&ROOT::EG&;
124 s&\$\{ROOT_EVE\}&ROOT::Eve&;
125 s&\$\{ROOT_FFTW\}&ROOT::FFTW&;
126 s&\$\{ROOT_GDML\}&ROOT::Gdml&;
127 s&\$\{ROOT_GED\}&ROOT::Ged&;
128 s&\$\{ROOT_GEOM\}&ROOT::Geom&;
129 s&\$\{ROOT_GEOMPAINTER\}&ROOT::GeomPainter&;
130 s&\$\{ROOT_GPAD\}&ROOT::Gpad&;
131 s&\$\{ROOT_GRAF\}&ROOT::Graf&;
132 s&\$\{ROOT_GRAF3D\}&ROOT::Graf3d&;
133 s&\$\{ROOT_GUI\}&ROOT::Gui&;
134 s&\$\{ROOT_GX11\}&ROOT::GX11&;
135 s&\$\{ROOT_HIST\}&ROOT::Hist&;
136 s&\$\{ROOT_MATHCORE\}&ROOT::MathCore&;
137 s&\$\{ROOT_MATHMORE\}&ROOT::MathMore&;
138 s&\$\{ROOT_MATRIX\}&ROOT::Matrix&;
139 s&\$\{ROOT_NET\}&ROOT::Net&;
140 s&\$\{ROOT_PHYSICS\}&ROOT::Physics&;
141 s&\$\{ROOT_POSTSCRIPT\}&ROOT::Postscript&;
142 s&\$\{ROOT_RGL\}&ROOT::RGL&;
143 s&\$\{ROOT_RINT\}&ROOT::Rint&;
144 s&\$\{ROOT_REFLEX\}&&;
145 s&\$\{ROOT_RIO\}&ROOT::RIO&;
146 s&\$\{ROOT_THREAD\}&ROOT::Thread&;
147 s&\$\{ROOT_TREE\}&ROOT::Tree&;
148 s&\$\{ROOT_TREEPLAYER\}&ROOT::TreePlayer&;
149 s&\$\{ROOT_XMLIO\}&ROOT::XMLIO&;
150 s&\$\{ROOT_EGPYTHIA6\}&ROOT::EGPythia6&;
151 s&\$\{ROOTSYS\}/lib/libEGPythia6.so&ROOT::EGPythia6&;
153 s&\$\{G4GMOCREN\}&G4GMOCREN&;
154 s&\$\{G4RAYTRACER\}&G4RAYTRACER&;
155 s&\$\{G4TREE\}&G4TREE&;
156 s&\$\{G4VRML\}&G4VRML&;
157 s&\$\{G4EVENT\}&G4EVENT&;
158 s&\$\{G4GEOMETRY\}&G4GEOMETRY&;
159 s&\$\{G4GLOBAL\}&G4GLOBAL&;
160 s&\$\{G4INTERCOMS\}&G4INTERCOMS&;
161 s&\$\{G4MATERIALS\}&G4MATERIALS&;
162 s&\$\{G4MODELING\}&G4MODELING&;
163 s&\$\{G4PARTICLES\}&G4PARTICLES&;
164 s&\$\{G4PERSISTENCY\}&G4PERSISTENCY&;
165 s&\$\{G4PHYSICSLISTS\}&G4PHYSICSLISTS&;
166 s&\$\{G4PROCESSES\}&G4PROCESSES&;
167 s&\$\{G4READOUT\}&G4READOUT&;
168 s&\$\{G4RUN\}&G4RUN&;
169 s&\$\{G4TRACKING\}&G4TRACKING&;
170 s&\$\{G4VISHEPREP\}&G4VISHEPREP&;
171 s&\$\{G4VIS_MANAGEMENT\}&G4VIS_MANAGEMENT&;
172 s&\$\{XERCESC\}&XERCESC&;
173 s&\$\{LIBWDA\}&LIBWDA&;
176 s&\$\{CLHEP\}&CLHEP::CLHEP&;
179 s&\$\{IFDH_SERVICE\}&ifdh_art::IFDH_service&;
180 s&\$\{IFDH\}&ifdh::ifdh&;
181 s&\$\{LOG4CPP\}&log4cpp::log4cpp&;
182 s&\$\{PYTHIA6\}&PYTHIA6&;
183 s&\$\{LHAPDF\}&LHAPDF&;
184 s&\$\{SQLITE\}&SQLite::SQLite3&;
185 s&\$\{SQLITE3\}&SQLite::SQLite3&;
187 s&\$\{G4GMOCREN\}&G4GMOCREN&;
188 s&\$\{G4RAYTRACER\}&G4RAYTRACER&;
189 s&\$\{G4TREE\}&G4TREE&;
190 s&\$\{G4VRML\}&G4VRML&;
191 s&\$\{G4EVENT\}&G4EVENT&;
192 s&\$\{G4GEOMETRY\}&G4GEOMETRY&;
193 s&\$\{G4GLOBAL\}&G4GLOBAL&;
194 s&\$\{G4GRAPHICS_REPS\}&G4GRAPHICS_REPS&;
195 s&\$\{G4INTERCOMS\}&G4INTERCOMS&;
196 s&\$\{G4INTERFACES\}&G4INTERFACES&;
197 s&\$\{G4MATERIALS\}&G4MATERIALS&;
198 s&\$\{G4MODELING\}&G4MODELING&;
199 s&\$\{G4PARTICLES\}&G4PARTICLES&;
200 s&\$\{G4PERSISTENCY\}&G4PERSISTENCY&;
201 s&\$\{G4PHYSICSLISTS\}&G4PHYSICSLISTS&;
202 s&\$\{G4PROCESSES\}&G4PROCESSES&;
203 s&\$\{G4READOUT\}&G4READOUT&;
204 s&\$\{G4RUN\}&G4RUN&;
205 s&\$\{G4TRACK\}&G4TRACK&;
206 s&\$\{G4VISHEPREP\}&G4VISHEPREP&;
207 s&\$\{G4VIS_MANAGEMENT\}&G4VIS_MANAGEMENT&;
208 s&\$\{G4DIGITS_HITS\}&G4DIGITS_HITS&;
209 s&\$\{XERCESC\}&XERCESC&;
211 s&\$\{DK2NU_TREE\}&DK2NU_TREE&;
212 s&\$\{DK2NU_GENIE\}&DK2NU_GENIE&;
213 s&\$\{TENSORFLOW\}&TENSORFLOW&;
214 s&\$\{PROTOBUF\}&PROTOBUF&;
215 s&\$\{GRPC_CLIENT\}&TRITON::grpcclient&;
216 s&\$\{MARLEY\}&MARLEY&;
217 s&\$\{MARLEY_ROOT\}&MARLEY_ROOT&;
218 s&\$\{BXDECAY0\}&BXDECAY0&;
219 s&\$\{JSONCPP\}&JSONCPP&;
use File::Basename qw(fileparse)
tuple m
now if test mode generate materials, CRT shell, world, gdml header else just generate CRT shell for u...
my($xml, $fcl, $workdir, $check, $merge)
bool exists(std::string path)
return match has_match and(match.match_pdg==11 or match.match_pdg==-11)
then echo File list $list not found else cat $list while read file do echo $file sed s
foreach my $lib(sort keys%dir_list)