All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
generate_gdml_test.pl File Reference

Go to the source code of this file.

Macros

#define the   solids
 
#define the   solids
 

Functions

 GetOptions ("input|i:s"=>\$input,"help|h"=>\$help,"suffix|s:s"=>\$suffix,"output|o:s"=>\$output)
 
 if (defined $help)
 
 if (!defined $suffix)
 
foreach $parameter ($xmldata->findnodes('/parameters/geometry/parameter'))
 
 gen_defs ()
 
 gen_rotations ()
 
 gen_materials ()
 
 gen_microplane ()
 
 gen_microvertplane ()
 
 gen_groundplate ()
 
 gen_cathode ()
 
 gen_fieldcage ()
 
 gen_tpc ()
 
 if ($pmt_switch eq"on")
 
 gen_cryostat ()
 
 gen_enclosure ()
 
 gen_world ()
 
 write_fragments ()
 
sub usage ()
 
sub gen_tpcplanevert_bad ()
 
sub gen_tpcplane_bad ()
 
 push (@gdmlFiles, $PMT)
 
 open (PMT) or die("Could not open file $PMT for writing")
 

Variables

 else
 
 $parser = new XML::LibXML
 
 $xmldata = $parser->parse_file($input)
 
 $SinUVAngle = sin( deg2rad($UVAngle) )
 
 $CosUVAngle = cos( deg2rad($UVAngle) )
 
 $TanUVAngle = tan( deg2rad($UVAngle) )
 
 $wires_on =1
 
 $wire_int =20
 
 $NumberOfTPCPlanes =3
 
 $tpc_neg_length =1000
 
 $tpc_neg_width =200
 
 $tpc_neg_height =200
 
 $wire_frame_width =9.5
 
 $wire_plane_height =240
 
 $wire_plane_length =1042
 
 $wires_plength =($wire_plane_length - 2*$wire_frame_width)
 
 $wires_pwidth =($wire_plane_height - 2*$wire_frame_width)
 
 $field_cage_width = 200
 
 $field_cage_height = 180
 
 $field_cage_cross_length = sqrt(($field_cage_width)**2+($field_cage_height-50)**2)
 
 $field_cage_length = 1000
 
 $field_cage_loop_interval = 1
 
 $spacers_on_off = "off"
 
 $electronics_height =12
 
 $pmt_switch ="off"
 
 exit
 
sub gen_pmt
 
 $PMT = ">" . $PMT
 

Macro Definition Documentation

#define the   solids
#define the   solids

Function Documentation

foreach $parameter (   $xmldata->'/parameters/geometry/parameter')

Definition at line 48 of file generate_gdml_test.pl.

49 {
50  # Get the name and value attributes for that parameter:
51  $name = $parameter->getAttribute("name");
52  $value = $parameter->getAttribute("value");
53 
54  # Here's the clever part: The following eval creates a variable
55  # with the same name as $name. For example, if $name eq "TPCDepth",
56  # then the following statement assigns the value to $TPCDepth. The
57  # value is in quotes, because some of the parameters have text
58  # strings in them (like "kInch").
59 
60  eval "\$$name = '$value'";
61 }
foreach $parameter($xmldata->findnodes('/parameters/geometry/parameter'))
gen_cathode ( )
gen_cryostat ( )
gen_defs ( )
gen_enclosure ( )
gen_fieldcage ( )
gen_groundplate ( )
gen_materials ( )
sub gen_microplane ( )

Definition at line 343 of file generate_gdml_test.pl.

344 {
345 
346 
347  $GDML = "micro-plane" . $suffix . ".gdml";
348  push (@gdmlFiles, $GDML); # Add file to list of GDML fragments
349  $GDML = ">" . $GDML;
350  open(GDML) or die("Could not open file $GDML for writing");
351 
352  # Calculate the number of wire ends on a given y-edge of the plane.
353  my $TPCYWirePitch = $TPCWirePitch / $CosUVAngle;
354  my $NumberWiresPerEdge = int( $TPCLength / $TPCYWirePitch );
355 
356  # How many side wires will be "cut off" by the lower or higher
357  # z-edge?
358  my $NumberSideWires = int( $TanUVAngle * $TPCWidth / $TPCYWirePitch );
359 
360  # The number of full-length "center" wires.
361  my $NumberCenterWires = $NumberWiresPerEdge - $NumberSideWires;
362 
363  # define the solids
364  print GDML <<EOF;
365 <?xml version='1.0'?>
366 <gdml>
367 <solids>
368 EOF
369 
370  # wires on either end of the tpc
371  for($i = 0; $i < $NumberSideWires; ++$i)
372  {
373  print GDML <<EOF;
374 <tube name="TPCWire$i"
375  rmax="0.5*kTPCWireThickness"
376  z="kTPCWireXPitch*($i+1)/kSinUVAngle"
377  deltaphi="2*kPi"
378  aunit="rad"
379  lunit="cm"/>
380 EOF
381  }
382 
383  # The solids for the middle wire and the TPC wire plane, and start off the structures.
384  print GDML <<EOF;
385 <tube name="TPCWireCommon"
386  rmax="0.5*kTPCWireThickness"
387  z="kTPCWidth/kCosUVAngle"
388  deltaphi="2*kPi"
389  aunit="rad"
390  lunit="cm"/>
391 <box name="TPCPlane"
392  x="kTPCWirePlaneThickness"
393  y="kTPCWidth+1"
394  z="kTPCLength+1"
395  lunit="cm"/>
396 </solids>
397 <structure>
398 EOF
399 
400  # the wires at either end of the plane
401  for ($i = 0; $i < $NumberSideWires; ++$i)
402  {
403  print GDML <<EOF;
404  <volume name="volTPCWire$i">
405  <materialref ref="Titanium"/>
406  <solidref ref="TPCWire$i"/>
407  </volume>
408 EOF
409  }
410 
411 
412  # The wires in the middle of the plane, and the plane itself.
413  print GDML <<EOF;
414  <volume name="volTPCWireCommon">
415  <materialref ref="Titanium"/>
416  <solidref ref="TPCWireCommon"/>
417  </volume>
418  <volume name="volTPCPlane">
419  <materialref ref="LAr"/>
420  <solidref ref="TPCPlane"/>
421 EOF
422 
423  # the wires at the -z end
424  for ($i = 0; $i < $NumberSideWires; ++$i)
425  {
426  print GDML <<EOF;
427  <physvol>
428  <volumeref ref="volTPCWire$i"/>
429  <position name="posTPCWire$i" unit="cm" y="-0.5*kTPCWidth+0.5*($i+1)*kTPCWireXPitch/kTanUVAngle" z="0.5*(-kTPCLength+($i+1)*kTPCWireXPitch)" x="0"/>
430  <rotationref ref="rPlusUVAngleAboutX"/>
431  </physvol>
432 EOF
433  }
434 
435  # The wires in the middle.
436  for ($i = 0; $i < $NumberCenterWires; ++$i)
437  {
438  my $j = $NumberSideWires+$i;
439  print GDML <<EOF;
440  <physvol>
441  <volumeref ref="volTPCWireCommon"/>
442  <position name="posTPCWire$j" unit="cm" y="0" z="-0.5*kTPCWirePlaneLength+kTPCWireXPitch*(0.5*$NumberSideWires + $i+1)" x="0"/>
443  <rotationref ref="rPlusUVAngleAboutX"/>
444  </physvol>
445 EOF
446  }
447 
448  # the wires at the +z end
449  for ($i = 0; $i < $NumberSideWires; ++$i)
450  {
451  my $j = $NumberSideWires-$i-1;
452  my $k = $NumberCenterWires+$NumberSideWires+$i;
453 
454  print GDML <<EOF;
455  <physvol>
456  <volumeref ref="volTPCWire$j"/>
457  <position name="posTPCWire$k" unit="cm" y="0.5*kTPCWidth-0.5*($j+1)*kTPCWireXPitch/kTanUVAngle" z="0.5*kTPCWirePlaneLength-0.5*kTPCWireXPitch*($j+1)" x="0"/>
458  <rotationref ref="rPlusUVAngleAboutX"/>
459  </physvol>
460 EOF
461  }
462 
463  print GDML <<EOF;
464  </volume>
465 </structure>
466 </gdml>
467 EOF
468 
469  close(GDML);
470 }
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
Definition: runPID.fcl:28
* file
Definition: file_to_url.sh:69
$TPCWidth
do one_file $F done echo for F in find $TOP name CMakeLists txt print
$TPCLength
my($xml, $fcl, $workdir, $check, $merge)
process_name opflash particleana ie ie y
for($it=0;$it< $RaceTrack_number;$it++)
do echo $i
Definition: TrainMVA.sh:30
then echo fcl name
print OUTPUT<< EOF;< setup name="Default"version="1.0">< worldref="volWorld"/></setup ></gdml > EOF close(OUTPUT)
list
Definition: file_to_url.sh:28
push(@gdmlFiles, $RACETRACK)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")
sub gen_microvertplane ( )

Definition at line 282 of file generate_gdml_test.pl.

283 {
284  my $NumberWires = int( $TPCLength / $TPCWirePitch ) - 1;
285 
286  $GDML = "micro-vertplane" . $suffix . ".gdml";
287  push (@gdmlFiles, $GDML); # Add file to list of GDML fragments
288  $GDML = ">" . $GDML;
289  open(GDML) or die("Could not open file $GDML for writing");
290 
291  # Define the solids and structures: the wires and the TPC wire plane.
292  print GDML <<EOF;
293 <?xml version='1.0'?>
294 <gdml>
295 <solids>
296 <tube name="TPCWireVert"
297  rmax="0.5*kTPCWireThickness"
298  z="kTPCWidth"
299  deltaphi="2*kPi"
300  aunit="rad"
301  lunit="cm"/>
302 <box name="TPCPlaneVert"
303  x="kTPCWirePlaneThickness"
304  y="kTPCWidth+1"
305  z="kTPCLength+1"
306  lunit="cm"/>
307 </solids>
308 <structure>
309  <volume name="volTPCWireVert">
310  <materialref ref="Titanium"/>
311  <solidref ref="TPCWireVert"/>
312  </volume>
313  <volume name="volTPCPlaneVert">
314  <materialref ref="LAr"/>
315  <solidref ref="TPCPlaneVert"/>
316 EOF
317 
318  # the wires
319  for ( $i = 0; $i < $NumberWires; ++$i)
320  {
321  print GDML <<EOF;
322  <physvol>
323  <volumeref ref="volTPCWireVert"/>
324  <position name="posTPCWireVert$i" unit="cm" z="(-0.5*kTPCLength)+(($i+1)*kTPCWirePitch)" x="0" y="0"/>
325  <rotationref ref="rPlus90AboutX"/>
326  </physvol>
327 EOF
328  }
329 
330  print GDML <<EOF;
331  </volume>
332 </structure>
333 </gdml>
334 EOF
335 
336  close(GDML);
337 }
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
Definition: runPID.fcl:28
* file
Definition: file_to_url.sh:69
do one_file $F done echo for F in find $TOP name CMakeLists txt print
$TPCLength
my($xml, $fcl, $workdir, $check, $merge)
process_name opflash particleana ie ie y
for($it=0;$it< $RaceTrack_number;$it++)
do echo $i
Definition: TrainMVA.sh:30
then echo fcl name
print OUTPUT<< EOF;< setup name="Default"version="1.0">< worldref="volWorld"/></setup ></gdml > EOF close(OUTPUT)
list
Definition: file_to_url.sh:28
push(@gdmlFiles, $RACETRACK)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")
gen_rotations ( )
gen_tpc ( )
sub gen_tpcplane_bad ( )

Definition at line 547 of file generate_gdml_test.pl.

548 {
549 
550  my $NumberWires = $TPCLength / $TPCWirePitch - 1;
551 
552  $GDML = "microboone/micro-plane" . $suffix . ".gdml";
553  push (@gdmlFiles, $GDML); # Add file to list of GDML fragments
554  $GDML = ">" . $GDML;
555  open(GDML) or die("Could not open file $GDML for writing");
556 
557  # Calculate the number of wire ends on a given y-edge of the plane.
558  my $TPCYWirePitch = $TPCWirePitch / $CosUVAngle;
559  my $NumberWiresPerEdge = int( $TPCLength / $TPCYWirePitch );
560  #my $NumberWiresPerEdge = int( ( $wires_plength ) / $TPCYWirePitch );
561 
562  # How many side wires will be "cut off" by the lower or higher
563  # z-edge?
564  #my $NumberSideWires = int( $TanUVAngle * ( $wires_pwidth ) / $TPCYWirePitch );
565  my $NumberSideWires = int( $TanUVAngle * $TPCWidth / $TPCYWirePitch ) - 1;
566 
567 
568  # The number of full-length "center" wires.
569  my $NumberCenterWires = $NumberWiresPerEdge - $NumberSideWires;
570 
571  # define the solids
572  print GDML <<EOF;
573 <?xml version='1.0'?>
574 <gdml>
575 <solids>
576 EOF
577 
578  # wires on either end of the tpc
579  for ($i = 0; $i < $NumberSideWires; ++$i)
580  {
581  print GDML <<EOF;
582 <tube name="TPCWire$i"
583  rmax="0.5*kTPCWireThickness"
584  z="kTPCWireXPitch*($i+1)/kSinUVAngle"
585  deltaphi="2*kPi"
586  aunit="rad"
587  lunit="cm"/>
588 EOF
589  }
590 
591  # The solids for the middle wire and the TPC wire plane, and start off the structures.
592  print GDML <<EOF;
593 <tube name="TPCWireCommon"
594  rmax="0.5*kTPCWireThickness"
595  z="kTPCWidth/kCosUVAngle"
596  deltaphi="2*kPi"
597  aunit="rad"
598  lunit="cm"/>
599 <box name="TPCPlane"
600  x="kTPCWirePlaneThickness"
601  y="kTPCWidth"
602  z="kTPCLength"
603  lunit="cm"/>
604 </solids>
605 <structure>
606 EOF
607 
608  # the wires at either end of the plane
609  for ($i = 0; $i < $NumberSideWires; ++$i)
610  {
611  print GDML <<EOF;
612  <volume name="volTPCWire$i">
613  <materialref ref="Titanium"/>
614  <solidref ref="TPCWire$i"/>
615  </volume>
616 EOF
617  }
618 
619 
620  # The wires in the middle of the plane, and the plane itself.
621  print GDML <<EOF;
622  <volume name="volTPCWireCommon">
623  <materialref ref="Titanium"/>
624  <solidref ref="TPCWireCommon"/>
625  </volume>
626  <volume name="volTPCPlane">
627  <materialref ref="LAr"/>
628  <solidref ref="TPCPlane"/>
629 EOF
630 
631  # the wires at the -z end
632  for ($i = 0; $i < $NumberSideWires; ++$i)
633  {
634  print GDML <<EOF;
635  <physvol>
636  <volumeref ref="volTPCWire$i"/>
637  <position name="posTPCWire$i" unit="cm" y="(-0.5*kTPCWirePlaneWidth)+0.5*($i+1)*kTPCWireXPitch/kTanUVAngle" z="-0.5*kTPCWirePlaneLength+0.5*kTPCWireXPitch*($i+1)" x="0"/>
638  <rotationref ref="rPlusUVAngleAboutX"/>
639  </physvol>
640 EOF
641  }
642 
643  # The wires in the middle.
644  for ($i = 0; $i < $NumberCenterWires - 1 ; ++$i)
645  {
646  my $j = $NumberSideWires+$i;
647  print GDML <<EOF;
648  <physvol>
649  <volumeref ref="volTPCWireCommon"/>
650  <position name="posTPCWire$j" unit="cm" y="0" z="(-0.5*kTPCWirePlaneLength)+kTPCWireXPitch*(0.5*$NumberSideWires + $i+1)" x="0"/>
651  <rotationref ref="rPlusUVAngleAboutX"/>
652  </physvol>
653 EOF
654  }
655 
656  # the wires at the +z end
657  for ($i = 0; $i < $NumberSideWires ; ++$i)
658  {
659  my $j = $NumberSideWires-$i-1;
660  my $k = $NumberCenterWires+$NumberSideWires+$i;
661 
662  print GDML <<EOF;
663  <physvol>
664  <volumeref ref="volTPCWire$j"/>
665  <position name="posTPCWire$k" unit="cm" y="0.5*kTPCWirePlaneWidth-0.5*($j+1)*kTPCWireXPitch/kTanUVAngle" z="0.5*kTPCWirePlaneLength-0.5*kTPCWireXPitch*($j+1)" x="0"/>
666  <rotationref ref="rPlusUVAngleAboutX"/>
667  </physvol>
668 EOF
669  }
670 
671  print GDML <<EOF;
672  </volume>
673 </structure>
674 </gdml>
675 EOF
676 
677  close(GDML);
678 }
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
Definition: runPID.fcl:28
* file
Definition: file_to_url.sh:69
$TPCWidth
do one_file $F done echo for F in find $TOP name CMakeLists txt print
$TPCLength
my($xml, $fcl, $workdir, $check, $merge)
process_name opflash particleana ie ie y
for($it=0;$it< $RaceTrack_number;$it++)
do echo $i
Definition: TrainMVA.sh:30
then echo fcl name
print OUTPUT<< EOF;< setup name="Default"version="1.0">< worldref="volWorld"/></setup ></gdml > EOF close(OUTPUT)
list
Definition: file_to_url.sh:28
push(@gdmlFiles, $RACETRACK)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")
sub gen_tpcplanevert_bad ( )

Definition at line 476 of file generate_gdml_test.pl.

477 {
478 
479 
480 ##### temporary edits:
481 ##### - TPCPlaneVert y="TPCWidth" z="kTPCLength"
482 ##### - TPCWireVert y="TPCWidth"
483 ##### - (above)my $NumberWires = int($TPCLength / $TPCWirePitch ) - 1
484 
485 
486 
487  my $NumberWires = int( ( $wires_plength ) / $TPCWirePitch ) - 1;
488 
489  $GDML = "microboone/micro-vertplane" . $suffix . ".gdml";
490  push (@gdmlFiles, $GDML); # Add file to list of GDML fragments
491  $GDML = ">" . $GDML;
492  open(GDML) or die("Could not open file $GDML for writing");
493 
494  # Define the solids and structures: the wires and the TPC wire plane.
495 
496  print GDML <<EOF;
497 <?xml version='1.0'?>
498 <gdml>
499 <solids>
500 <tube name="TPCWireVert"
501  rmax="0.5*kTPCWireThickness"
502  z="$wires_pwidth"
503  deltaphi="2*kPi"
504  aunit="rad"
505  lunit="cm"/>
506 <box name="TPCPlaneVert"
507  x="kTPCWirePlaneThickness"
508  y="$wires_pwidth"
509  z="$wires_plength"
510  lunit="cm"/>
511 </solids>
512 <structure>
513  <volume name="volTPCWireVert">
514  <materialref ref="Titanium"/>
515  <solidref ref="TPCWireVert"/>
516  </volume>
517  <volume name="volTPCPlaneVert">
518  <materialref ref="LAr"/>
519  <solidref ref="TPCPlaneVert"/>
520 EOF
521 
522  # the wires
523  for ( $i = 0; $i < ( $NumberWires / $wire_int ); ++$i )
524  {
525  $j=($wire_int*$i);
526  print GDML <<EOF;
527  <physvol>
528  <volumeref ref="volTPCWireVert"/>
529  <position name="posTPCWireVert$i" unit="cm" z="(-0.5*kTPCWirePlaneLength)+kTPCWirePitch*($j+1)" x="0" y="0"/>
530  <rotationref ref="rPlus90AboutX"/>
531  </physvol>
532 EOF
533  }
534 
535  print GDML <<EOF;
536  </volume>
537 </structure>
538 </gdml>
539 EOF
540 
541  close(GDML);
542 }
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
Definition: runPID.fcl:28
* file
Definition: file_to_url.sh:69
do one_file $F done echo for F in find $TOP name CMakeLists txt print
my($xml, $fcl, $workdir, $check, $merge)
process_name opflash particleana ie ie y
for($it=0;$it< $RaceTrack_number;$it++)
do echo $i
Definition: TrainMVA.sh:30
then echo fcl name
print OUTPUT<< EOF;< setup name="Default"version="1.0">< worldref="volWorld"/></setup ></gdml > EOF close(OUTPUT)
list
Definition: file_to_url.sh:28
push(@gdmlFiles, $RACETRACK)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")
gen_world ( )
GetOptions ( "input|i:s"  ,
$input,
"help|h ,
$help,
"suffix|s:s"  ,
$suffix,
"output|o:s"  ,
$output 
)
if ( defined  $help)

Definition at line 20 of file generate_gdml_test.pl.

21 {
22  # If the user requested help, print the usage notes and exit.
23  usage();
24  exit;
25 }
usage
Definition: doGit.sh:21
if ( !defined  $suffix)

Definition at line 27 of file generate_gdml_test.pl.

28 {
29  # The user didn't supply a suffix, so append nothing to the file
30  # names.
31  $suffix = "";
32 }
if (   $pmt_switch eq"on")

Definition at line 105 of file generate_gdml_test.pl.

105 { gen_pmt(); } # physical volumes defined in gen_cryostat()
sub gen_pmt
gen_cryostat()
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not defined
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
open ( PMT  )
push ( gdmlFiles,
  $PMT 
)
sub usage ( )

Definition at line 116 of file generate_gdml_test.pl.

117 {
118  print "Usage: $0 [-h|--help] -i|--input <parameters-file> [-o|--output <fragments-file>] [-s|--suffix <string>]\n";
119  print " -i/--input can be omitted; <parameters-file> contains geometry and material parameters\n";
120  print " if -o is omitted, output goes to STDOUT; <fragments-file> is input to make_gdml.pl\n";
121  print " -s <string> appends the string to the file names; useful for multiple detector versions\n";
122  print " -h prints this message, then quits\n";
123 }
do one_file $F done echo for F in find $TOP name CMakeLists txt print
write_fragments ( )

Definition at line 1168 of file generate_gdml_simple.pl.

1169 {
1170  # The output file is a list of the GDML sub-files created by this
1171  # script.
1172 
1173  if ( ! defined $output )
1174  {
1175  $output = "-"; # write to STDOUT
1176  }
1177 
1178  # Set up the output file.
1179  $OUTPUT = ">" . $output;
1180  open(OUTPUT) or die("Could not open file $OUTPUT");
1181 
1182  print OUTPUT <<EOF;
1183 <?xml version='1.0'?>
1184 
1185 <!-- Input to Geometry/gdml/make_gdml.pl; define the GDML fragments
1186  that will be zipped together to create a detector description.
1187  -->
1188 
1189 <config>
1190 
1191  <constantfiles>
1192 
1193  <!-- These files contain GDML <constant></constant>
1194  blocks. They are read in separately, so they can be
1195  interpreted into the remaining GDML. See make_gdml.pl for
1196  more information.
1197  -->
1198 
1199 EOF
1200 
1201  foreach $filename (@defFiles)
1202  {
1203  print OUTPUT <<EOF;
1205 EOF
1206  }
1207 
1208  print OUTPUT <<EOF;
1209 
1210  </constantfiles>
1211 
1212  <gdmlfiles>
1213 
1214  <!-- The GDML file fragments to be zipped together. -->
1215 
1216 EOF
1217 
1218  foreach $filename (@gdmlFiles)
1219  {
1220  print OUTPUT <<EOF;
1222 EOF
1223  }
1224 
1225  print OUTPUT <<EOF;
1226 
1227  </gdmlfiles>
1228 
1229 </config>
1230 EOF
1231 
1232  close(OUTPUT);
1233 }
foreach $filename(@defFiles)
process_name can override from command line with o or output proton mvapid_weights muon_all_BDT weights xml
Definition: runPID.fcl:28
esac done echo Signal files are
Definition: TrainMVA.sh:25
* file
Definition: file_to_url.sh:69
BEGIN_PROLOG could also be dds filename
do one_file $F done echo for F in find $TOP name CMakeLists txt print
def write
Definition: util.py:23
process_name gaushit a
for($it=0;$it< $RaceTrack_number;$it++)
#define the
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo W echo The symbol is a weak symbol that has not been specifically echo tagged as a weak object symbol When a weak defined symbol echo is linked with a normal defined the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not the value of the echo weak symbol becomes zero with no error echo echo echo The symbol is a stabs symbol in an a out object file In echo this the next values printed are the stabs other echo the stabs desc and the stab type Stabs symbols are echo used to hold debugging information For more information
then echo echo For and will not be changed by echo further linking echo echo B echo The symbol is in the uninitialized data multiple common symbols may appear with the echo same name If the symbol is defined the common echo symbols are treated as undefined references For more echo details on common see the discussion of warn common echo in *Note Linker see the discussion of warn common echo in *Note Linker such as a global int variable echo as opposed to a large global array echo echo I echo The symbol is an indirect reference to another symbol This echo is a GNU extension to the a out object file format which is echo rarely used echo echo N echo The symbol is a debugging symbol echo echo R echo The symbol is in a read only data section echo echo S echo The symbol is in an uninitialized data section for small echo objects echo echo T echo The symbol is in the the normal defined echo symbol is used with no error When a weak undefined symbol echo is linked and the symbol is not defined
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
print OUTPUT<< EOF;< setup name="Default"version="1.0">< worldref="volWorld"/></setup ></gdml > EOF close(OUTPUT)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")

Variable Documentation

$CosUVAngle = cos( deg2rad($UVAngle) )

Definition at line 65 of file generate_gdml_test.pl.

$electronics_height =12

Definition at line 87 of file generate_gdml_test.pl.

$field_cage_cross_length = sqrt(($field_cage_width)**2+($field_cage_height-50)**2)

Definition at line 83 of file generate_gdml_test.pl.

$field_cage_height = 180

Definition at line 82 of file generate_gdml_test.pl.

$field_cage_length = 1000

Definition at line 84 of file generate_gdml_test.pl.

$field_cage_loop_interval = 1

Definition at line 85 of file generate_gdml_test.pl.

$field_cage_width = 200

Definition at line 81 of file generate_gdml_test.pl.

$NumberOfTPCPlanes =3

Definition at line 72 of file generate_gdml_test.pl.

$parser = new XML::LibXML

Definition at line 41 of file generate_gdml_test.pl.

$PMT = ">" . $PMT

Definition at line 976 of file generate_gdml_test.pl.

$pmt_switch ="off"

Definition at line 88 of file generate_gdml_test.pl.

$SinUVAngle = sin( deg2rad($UVAngle) )

Definition at line 64 of file generate_gdml_test.pl.

$spacers_on_off = "off"

Definition at line 86 of file generate_gdml_test.pl.

$TanUVAngle = tan( deg2rad($UVAngle) )

Definition at line 66 of file generate_gdml_test.pl.

$tpc_neg_height =200

Definition at line 75 of file generate_gdml_test.pl.

$tpc_neg_length =1000

Definition at line 73 of file generate_gdml_test.pl.

$tpc_neg_width =200

Definition at line 74 of file generate_gdml_test.pl.

$wire_frame_width =9.5

Definition at line 76 of file generate_gdml_test.pl.

$wire_int =20

Definition at line 71 of file generate_gdml_test.pl.

$wire_plane_height =240

Definition at line 77 of file generate_gdml_test.pl.

$wire_plane_length =1042

Definition at line 78 of file generate_gdml_test.pl.

$wires_on =1

Definition at line 70 of file generate_gdml_test.pl.

$wires_plength =($wire_plane_length - 2*$wire_frame_width)

Definition at line 79 of file generate_gdml_test.pl.

$wires_pwidth =($wire_plane_height - 2*$wire_frame_width)

Definition at line 80 of file generate_gdml_test.pl.

$xmldata = $parser->parse_file($input)

Definition at line 45 of file generate_gdml_test.pl.

else
Initial value:
{
$suffix = "-" . $suffix

Definition at line 34 of file generate_gdml_test.pl.

exit

Definition at line 112 of file generate_gdml_test.pl.

sub gen_pmt
Initial value:
{
$PMT = "microboone/micro-pmtdef" . $suffix . ".gdml"

Definition at line 972 of file generate_gdml_test.pl.