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

Go to the source code of this file.

Functions

Math::BigFloat precision (-16)
 
 GetOptions ("help|h"=>\$help,"suffix|s:s"=>\$suffix,"output|o:s"=>\$output,"wires|w:s"=>\$wires,"helpcube|c"=>\$helpcube)
 
 if (defined $help)
 
 if (!defined $suffix)
 
 gen_Define ()
 
 gen_Materials ()
 
 gen_TPC ()
 
 gen_Cryostat ()
 
 gen_Enclosure ()
 
 gen_World ()
 
 write_fragments ()
 
sub usage ()
 

Variables

 else
 
 $wires_on = 1
 
 $tpc_on =1
 
 $inch = 2.54
 
 $UWirePitch = 0.3
 
 $VWirePitch = 0.3
 
 $XWirePitch = 0.3
 
 $UAngle = 60
 
 $VAngle = 60
 
 $SinUAngle = sin( deg2rad($UAngle) )
 
 $CosUAngle = cos( deg2rad($UAngle) )
 
 $TanUAngle = tan( deg2rad($UAngle) )
 
 $SinVAngle = sin( deg2rad($VAngle) )
 
 $CosVAngle = cos( deg2rad($VAngle) )
 
 $TanVAngle = tan( deg2rad($VAngle) )
 
 $UWireCornerInt_y = $UWirePitch * $CosUAngle
 
 $UWireCornerInt_z = $UWirePitch * $SinUAngle
 
 $UWire_ypitch = $UWirePitch / $SinUAngle
 
 $UWire_zpitch = $UWirePitch / $CosUAngle
 
 $VWireCornerInt_y = $VWirePitch * $CosVAngle
 
 $VWireCornerInt_z = $VWirePitch * $SinVAngle
 
 $VWire_ypitch = $VWirePitch / $SinVAngle
 
 $VWire_zpitch = $VWirePitch / $CosVAngle
 
 $TPCWireThickness = 0.015
 
 $TPCWirePlane_x = $TPCWireThickness
 
 $nSkipCornerUWires = 0
 
 $nSkipCornerVWires = 0
 
 $CPA_x = 5.1
 
 $WirePlaneSpacing = 0.476
 
 $MaxDrift = 150
 
 $SpaceWirePlToWall = 50
 
 $SpaceWirePlToWirePl = 85
 
 $SpaceTPCToFloor = 50
 
 $SpaceTPCToTopLAr = 50
 
 $UpstreamLArPadding = 50
 
 $DownstreamLArPadding = 50
 
 $TPC_x = $MaxDrift + $TPCWirePlane_x + 3*$WirePlaneSpacing
 
 $TPC_y = 390
 
 $TPC_z = 1990
 
 $LAr_x
 
 $LAr_y
 
 $LAr_z
 
 $SteelThickness = 0.5*$inch
 
 $GaseousAr_y = 20
 
 $Cryostat_x = $LAr_x + 2*$SteelThickness
 
 $Cryostat_y = $LAr_y + 2*$SteelThickness + $GaseousAr_y
 
 $Cryostat_z = $LAr_z + 2*$SteelThickness
 
 $TPCWirePlane_y = $TPC_y
 
 $TPCWirePlane_z = $TPC_z
 
 $TPCinCryo_x [0] = - $LAr_x/2 + $SpaceWirePlToWall + 0.5*($TPC_x)
 
 $posRightCat_x = - $Cryostat_x/2 + 1.0*($TPC_x) + $SpaceWirePlToWall + $CPA_x/2
 
 $posLeftCat_x = $Cryostat_x/2 - 1.0*($TPC_x) - $SpaceWirePlToWall - $CPA_x/2
 
 $TPCinCryo_y = - $Cryostat_y/2 + $TPC_y/2 + $SpaceTPCToFloor
 
 $TPCinCryo_z = - $Cryostat_z/2 + $TPC_z/2 + $UpstreamLArPadding
 
 $TPCActive_x = $MaxDrift
 
 $TPCActive_y = $TPCWirePlane_y
 
 $TPCActive_z = $TPCWirePlane_z
 
 $posTPCActive_x = $TPC_x/2-$TPCActive_x/2
 
 $posTPCActive_y = 0
 
 $posTPCActive_z = 0
 
 $ConcretePadding = 50
 
 $FoamPadding = 80
 
 $TotalPadding = $ConcretePadding+$FoamPadding
 
 $DetEnc_x = $Cryostat_x+2*$TotalPadding
 
 $DetEnc_y = $Cryostat_y+$ConcretePadding
 
 $DetEnc_z = $Cryostat_z+2*$TotalPadding
 
 $CryoInDetEnc_x = 0
 
 $CryoInDetEnc_y = -$DetEnc_y/2 + $ConcretePadding + $Cryostat_y/2
 
 $CryoInDetEnc_z = 0
 
 $OriginZSet
 
 $OriginYSet
 
 $OriginXSet
 
 $World_x = 2*$DetEnc_x
 
 $World_y = 2*$DetEnc_y
 
 $World_z = 2*$DetEnc_z
 
 exit
 

Function Documentation

gen_Cryostat ( )
gen_Define ( )
gen_Enclosure ( )
gen_Materials ( )
gen_TPC ( )
gen_World ( )
GetOptions ( "help|h ,
$help,
"suffix|s:s"  ,
$suffix,
"output|o:s"  ,
$output,
"wires|w:s"  ,
$wires,
"helpcube|c"  ,
$helpcube 
)
if ( defined  $help)

Definition at line 31 of file generate_ICARUS.pl.

32 {
33  # If the user requested help, print the usage notes and exit.
34  usage();
35  exit;
36 }
usage
Definition: doGit.sh:21
if ( !defined  $suffix)

Definition at line 38 of file generate_ICARUS.pl.

39 {
40  # The user didn't supply a suffix, so append nothing to the file
41  # names.
42  $suffix = "";
43 }
Math::BigFloat precision ( 16)
sub usage ( )

Definition at line 261 of file generate_ICARUS.pl.

262 {
263  print "Usage: $0 [-h|--help] [-o|--output <fragments-file>] [-s|--suffix <string>]\n";
264  print " if -o is omitted, output goes to STDOUT; <fragments-file> is input to make_gdml.pl\n";
265  print " -s <string> appends the string to the file names; useful for multiple detector versions\n";
266  print " -h prints this message, then quits\n";
267 }
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

$ConcretePadding = 50

Definition at line 191 of file generate_ICARUS.pl.

$CosUAngle = cos( deg2rad($UAngle) )

Definition at line 80 of file generate_ICARUS.pl.

$CosVAngle = cos( deg2rad($VAngle) )

Definition at line 84 of file generate_ICARUS.pl.

$CPA_x = 5.1

Definition at line 113 of file generate_ICARUS.pl.

$CryoInDetEnc_x = 0

Definition at line 200 of file generate_ICARUS.pl.

$CryoInDetEnc_y = -$DetEnc_y/2 + $ConcretePadding + $Cryostat_y/2

Definition at line 201 of file generate_ICARUS.pl.

$CryoInDetEnc_z = 0

Definition at line 202 of file generate_ICARUS.pl.

$Cryostat_x = $LAr_x + 2*$SteelThickness

Definition at line 154 of file generate_ICARUS.pl.

$Cryostat_y = $LAr_y + 2*$SteelThickness + $GaseousAr_y

Definition at line 155 of file generate_ICARUS.pl.

$Cryostat_z = $LAr_z + 2*$SteelThickness

Definition at line 156 of file generate_ICARUS.pl.

$DetEnc_x = $Cryostat_x+2*$TotalPadding

Definition at line 194 of file generate_ICARUS.pl.

$DetEnc_y = $Cryostat_y+$ConcretePadding

Definition at line 195 of file generate_ICARUS.pl.

$DetEnc_z = $Cryostat_z+2*$TotalPadding

Definition at line 197 of file generate_ICARUS.pl.

$DownstreamLArPadding = 50

Definition at line 126 of file generate_ICARUS.pl.

$FoamPadding = 80

Definition at line 192 of file generate_ICARUS.pl.

$GaseousAr_y = 20

Definition at line 152 of file generate_ICARUS.pl.

$inch = 2.54

Definition at line 65 of file generate_ICARUS.pl.

$LAr_x
$LAr_y
$LAr_z
$MaxDrift = 150

Definition at line 116 of file generate_ICARUS.pl.

$nSkipCornerUWires = 0

Definition at line 105 of file generate_ICARUS.pl.

$nSkipCornerVWires = 0

Definition at line 106 of file generate_ICARUS.pl.

$OriginXSet
$OriginYSet
$OriginZSet
$posLeftCat_x = $Cryostat_x/2 - 1.0*($TPC_x) - $SpaceWirePlToWall - $CPA_x/2

Definition at line 171 of file generate_ICARUS.pl.

$posRightCat_x = - $Cryostat_x/2 + 1.0*($TPC_x) + $SpaceWirePlToWall + $CPA_x/2

Definition at line 170 of file generate_ICARUS.pl.

$posTPCActive_x = $TPC_x/2-$TPCActive_x/2

Definition at line 181 of file generate_ICARUS.pl.

$posTPCActive_y = 0

Definition at line 182 of file generate_ICARUS.pl.

$posTPCActive_z = 0

Definition at line 183 of file generate_ICARUS.pl.

$SinUAngle = sin( deg2rad($UAngle) )

Definition at line 79 of file generate_ICARUS.pl.

$SinVAngle = sin( deg2rad($VAngle) )

Definition at line 83 of file generate_ICARUS.pl.

$SpaceTPCToFloor = 50

Definition at line 123 of file generate_ICARUS.pl.

$SpaceTPCToTopLAr = 50

Definition at line 124 of file generate_ICARUS.pl.

$SpaceWirePlToWall = 50

Definition at line 121 of file generate_ICARUS.pl.

$SpaceWirePlToWirePl = 85

Definition at line 122 of file generate_ICARUS.pl.

$SteelThickness = 0.5*$inch

Definition at line 151 of file generate_ICARUS.pl.

$TanUAngle = tan( deg2rad($UAngle) )

Definition at line 81 of file generate_ICARUS.pl.

$TanVAngle = tan( deg2rad($VAngle) )

Definition at line 85 of file generate_ICARUS.pl.

$TotalPadding = $ConcretePadding+$FoamPadding

Definition at line 193 of file generate_ICARUS.pl.

$tpc_on =1

Definition at line 64 of file generate_ICARUS.pl.

$TPC_x = $MaxDrift + $TPCWirePlane_x + 3*$WirePlaneSpacing

Definition at line 136 of file generate_ICARUS.pl.

$TPC_y = 390

Definition at line 137 of file generate_ICARUS.pl.

$TPC_z = 1990

Definition at line 138 of file generate_ICARUS.pl.

$TPCActive_x = $MaxDrift

Definition at line 176 of file generate_ICARUS.pl.

$TPCActive_y = $TPCWirePlane_y

Definition at line 177 of file generate_ICARUS.pl.

$TPCActive_z = $TPCWirePlane_z

Definition at line 178 of file generate_ICARUS.pl.

$TPCinCryo_x[3] = - $LAr_x/2 + $SpaceWirePlToWall + 0.5*($TPC_x)

Definition at line 164 of file generate_ICARUS.pl.

$TPCinCryo_y = - $Cryostat_y/2 + $TPC_y/2 + $SpaceTPCToFloor

Definition at line 173 of file generate_ICARUS.pl.

$TPCinCryo_z = - $Cryostat_z/2 + $TPC_z/2 + $UpstreamLArPadding

Definition at line 174 of file generate_ICARUS.pl.

$TPCWirePlane_x = $TPCWireThickness

Definition at line 101 of file generate_ICARUS.pl.

$TPCWirePlane_y = $TPC_y

Definition at line 160 of file generate_ICARUS.pl.

$TPCWirePlane_z = $TPC_z

Definition at line 161 of file generate_ICARUS.pl.

$TPCWireThickness = 0.015

Definition at line 99 of file generate_ICARUS.pl.

$UAngle = 60

Definition at line 75 of file generate_ICARUS.pl.

$UpstreamLArPadding = 50

Definition at line 125 of file generate_ICARUS.pl.

$UWire_ypitch = $UWirePitch / $SinUAngle

Definition at line 89 of file generate_ICARUS.pl.

$UWire_zpitch = $UWirePitch / $CosUAngle

Definition at line 90 of file generate_ICARUS.pl.

$UWireCornerInt_y = $UWirePitch * $CosUAngle

Definition at line 87 of file generate_ICARUS.pl.

$UWireCornerInt_z = $UWirePitch * $SinUAngle

Definition at line 88 of file generate_ICARUS.pl.

$UWirePitch = 0.3

Definition at line 71 of file generate_ICARUS.pl.

$VAngle = 60

Definition at line 76 of file generate_ICARUS.pl.

$VWire_ypitch = $VWirePitch / $SinVAngle

Definition at line 95 of file generate_ICARUS.pl.

$VWire_zpitch = $VWirePitch / $CosVAngle

Definition at line 96 of file generate_ICARUS.pl.

$VWireCornerInt_y = $VWirePitch * $CosVAngle

Definition at line 93 of file generate_ICARUS.pl.

$VWireCornerInt_z = $VWirePitch * $SinVAngle

Definition at line 94 of file generate_ICARUS.pl.

$VWirePitch = 0.3

Definition at line 72 of file generate_ICARUS.pl.

$WirePlaneSpacing = 0.476

Definition at line 114 of file generate_ICARUS.pl.

$wires_on = 1

Definition at line 58 of file generate_ICARUS.pl.

$World_x = 2*$DetEnc_x

Definition at line 229 of file generate_ICARUS.pl.

$World_y = 2*$DetEnc_y

Definition at line 230 of file generate_ICARUS.pl.

$World_z = 2*$DetEnc_z

Definition at line 231 of file generate_ICARUS.pl.

$XWirePitch = 0.3

Definition at line 73 of file generate_ICARUS.pl.

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

Definition at line 45 of file generate_ICARUS.pl.

exit

Definition at line 254 of file generate_ICARUS.pl.