<html>
  <head>
    
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hello,<br>
      <br>
      A tool for this already existed in hdgeant.&nbsp; My tool allows you to
      click on a drawing of the detector that is cut through any
      arbitrary plane (origin, orientation selected with numbers or a
      mouse) and see the entire volume hierarchy plus the local value of
      the magnetic field.&nbsp; Of course there is nothing wrong with having
      another tool that does the same thing.<br>
      <br>
      -Richard J.<br>
      <br>
      <br>
      <br>
      <br>
      On 11/28/2012 4:37 PM, David Lawrence wrote:<br>
    </div>
    <blockquote cite="mid:50B68429.3050207@jlab.org" type="cite">
      
      <br>
      Hi All,<br>
      <br>
      &nbsp; As I mentioned at the Offline Software meeting today, I have
      written a new<br>
      utility for examining the geometry. Specifically, if one gives it
      an X,Y,Z coordinate<br>
      in the lab frame, it will print the volume and material properties
      for the<br>
      volume at that point. It will also list the entire volume
      hierarchy of that volume<br>
      outwards to the outermost Mother volume. Here is an example
      querying the center<br>
      of the target.<br>
      <div class="moz-forward-container"><br>
        <tt>&gt;hd_geom_query 0 0 65</tt><br>
        <br>
        <tt>&nbsp;&nbsp; Location: (X, Y, Z) = (0, 0, 65)</tt><tt><br>
        </tt><tt>===============================================</tt><tt><br>
        </tt><tt>&nbsp;&nbsp;&nbsp;&nbsp; Volume: LIH2</tt><tt><br>
        </tt><tt>&nbsp;&nbsp; material: LiqHydrogen</tt><tt><br>
        </tt><tt>&nbsp;&nbsp;&nbsp; density: 0.0708 g/cm^3</tt><tt><br>
        </tt><tt>rad. length: 816.933 cm</tt><tt><br>
        </tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A: 1.00797</tt><tt><br>
        </tt><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z: 1</tt><tt><br>
        </tt><tt>&nbsp; ancestory: LIH2 -&gt; TGTV -&gt; TARG -&gt; HALL
          -&gt; SITE</tt><br>
        <br>
        One can also have it generate the geometry from the XML at
        run-time<br>
        using external HDDS tools similar to what was recently done with
        hdgeant.<br>
        <br>
        If the program is run with no arguments, a Usage statement is
        printed:<br>
        <br>
        <tt>&gt;hd_geom_query<br>
          <br>
          Usage:<br>
          &nbsp;&nbsp;&nbsp; hd_geom_query [options] X Y Z<br>
          <br>
          Print the material properties for the specified point in lab<br>
          &nbsp;coordinates. Units of X,Y, and Z are cm.<br>
          <br>
          By default, this uses the geometry built into the file
          libHDGEOMETRY.a<br>
          that was used to link this executable. The -xml switch may be
          used<br>
          to dynamically compile and link code generated from the XML at
          run<br>
          time. If an equals sign "=" follows the -xml switch then the<br>
          main_HDDS.xml file is taken from the remainder of that
          argument.<br>
          <br>
          If the -xml switch is specified, then a file named
          "tmp_hddsroot.so"<br>
          is searched for in the current directory. If found, it is
          opened and<br>
          the geometry checksum is read from it and compared to that of
          the XML<br>
          specified (which may be the default of
          $HDDS_HOME/main_HDDS.xml).<br>
          If the two match, then that shared object is used, bypassing
          the<br>
          (expensive) compilation phase. If the file is not present, is
          unreadable,<br>
          or the checksums don't match, then the shared object is
          automatically<br>
          (re)generated.<br>
          <br>
          &nbsp;options:<br>
          &nbsp;&nbsp;&nbsp; -h or --help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print this usage statement<br>
          &nbsp;&nbsp;&nbsp; -xml[=main_HDDS.xml]&nbsp; Dynamically generate geometry<br>
          &nbsp;&nbsp;&nbsp; -checksum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print the MD5 checksum of the <br>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometry and exit<br>
          <br>
          If the -xml option is given and no file is specified,<br>
          then a value of: $HDDS_HOME/main_HDDS.xml<br>
          is used.<br>
        </tt><br>
        The source for this is now in the sim-recon tree and can be
        found here:<br>
        <br>
        <a href="https://halldsvn.jlab.org/repos/trunk/sim-recon/src/programs/Utilities/hd_geom_query">https://halldsvn.jlab.org/repos/trunk/sim-recon/src/programs/Utilities/hd_geom_query</a><br>
        <br>
        <br>
        Regards,<br>
        -David<br>
        <br>
        <br>
        -------- Original Message --------
        <table class="moz-email-headers-table">
          <tbody>
            <tr>
              <th nowrap="nowrap">Subject: </th>
              <td>r10030 - in trunk/sim-recon/src/programs/Utilities: .
                hd_geom_query</td>
            </tr>
            <tr>
              <th nowrap="nowrap">Date: </th>
              <td>Wed, 28 Nov 2012 10:37:40 -0500</td>
            </tr>
            <tr>
              <th nowrap="nowrap">From: </th>
              <td><a href="mailto:Hall-D.SVN.Repository@jlab.org">Hall-D.SVN.Repository@jlab.org</a></td>
            </tr>
            <tr>
              <th nowrap="nowrap">To: </th>
              <td><a href="mailto:davidl@jlab.org">davidl@jlab.org</a>, <a href="mailto:brash@pcs.cnu.edu">brash@pcs.cnu.edu</a>,
                <a href="mailto:wolin@jlab.org">wolin@jlab.org</a>, <a href="mailto:zisis@uregina.ca">zisis@uregina.ca</a>, <a href="mailto:mashephe@indiana.edu">mashephe@indiana.edu</a>,
                <a href="mailto:remitche@indiana.edu">remitche@indiana.edu</a>,
                <a href="mailto:zihlmann@jlab.org">zihlmann@jlab.org</a>,
                <a href="mailto:somov@jlab.org">somov@jlab.org</a>, <a href="mailto:staylor@jlab.org">staylor@jlab.org</a>, <a href="mailto:kmoriya@indiana.edu">kmoriya@indiana.edu</a>,
                <a href="mailto:pmatt@jlab.org">pmatt@jlab.org</a>, <a href="mailto:leckey@jlab.org">leckey@jlab.org</a></td>
            </tr>
          </tbody>
        </table>
        <br>
        <br>
        <pre>Author: davidl
Date: 2012-11-28 10:37:40 -0500 (Wed, 28 Nov 2012)
New Revision: 10030

Added:
   trunk/sim-recon/src/programs/Utilities/hd_geom_query/
   trunk/sim-recon/src/programs/Utilities/hd_geom_query/Makefile
   trunk/sim-recon/src/programs/Utilities/hd_geom_query/hd_geom_query.cc
Log:
A new utility to get info on the volume located at a
specific location in lab coordinates. This uses the
ROOT TGeo facility. The hddsroot.h file generated by
HDDS is compiled in and used by default. An option
exists to regenerate this file and compile and link 
it dynamically similar to what is now done in hdgeant.


</pre>
        <br>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Halld-offline mailing list
<a href="mailto:Halld-offline@jlab.org">Halld-offline@jlab.org</a>
<a href="https://mailman.jlab.org/mailman/listinfo/halld-offline">https://mailman.jlab.org/mailman/listinfo/halld-offline</a></pre>
    </blockquote>
    <br>
  </body>
</html>