LISTSERV mailing list manager LISTSERV 16.5

Help for LCDET-SVN Archives


LCDET-SVN Archives

LCDET-SVN Archives


LCDET-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

LCDET-SVN Home

LCDET-SVN Home

LCDET-SVN  February 2015

LCDET-SVN February 2015

Subject:

r3549 - in /projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector: DetectorElement.java IDetectorElement.java

From:

[log in to unmask]

Reply-To:

Notification of commits to the lcdet svn repository <[log in to unmask]>

Date:

Thu, 19 Feb 2015 22:39:14 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (347 lines)

Author: [log in to unmask]
Date: Thu Feb 19 14:39:09 2015
New Revision: 3549

Log:
Add initialization hook to DetectorElement API.

Modified:
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/DetectorElement.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/IDetectorElement.java

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/DetectorElement.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/DetectorElement.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/DetectorElement.java	Thu Feb 19 14:39:09 2015
@@ -647,4 +647,7 @@
         else
             return false;
     }
+    
+    public void initialize() {
+    }
 }

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/IDetectorElement.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/IDetectorElement.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/IDetectorElement.java	Thu Feb 19 14:39:09 2015
@@ -9,12 +9,8 @@
 import org.lcsim.detector.identifier.IIdentifierHelper;
 
 /**
- * A class to represent a node in the detector hierarchy,
- * based on Gaudi's IDetectorElement interface.  The
- * concept of DetectorElement is more abstract than
- * physical geometry, as it may simply be a container
- * for other DetectorElements and need not have a physical
- * representation in the geometry tree.
+ * A class to represent a node in the detector hierarchy, based on Gaudi's IDetectorElement interface. The concept of DetectorElement is more abstract than physical geometry, as it may simply be a
+ * container for other DetectorElements and need not have a physical representation in the geometry tree.
  * 
  * @see IDetectorElementStore
  * @see IDetectorElementContainer
@@ -28,49 +24,41 @@
  * @author tknelson
  * @version $Id: IDetectorElement.java,v 1.25 2009/03/03 21:07:24 jeremy Exp $
  */
-public interface IDetectorElement
-extends Identifiable
-{
-	/**
-	 * Get the geometric information for this node,
-     * including the volume center position and 
-     * global and local transformations.     
-     * 
-	 * @return An IGeometryInfo object with geometry information.
-	 */
+public interface IDetectorElement extends Identifiable {
+    /**
+     * Get the geometric information for this node, including the volume center position and global and local transformations.
+     * 
+     * @return An IGeometryInfo object with geometry information.
+     */
     public IGeometryInfo getGeometry();
-            
-    /**
-     * Get the parent element of this node.  The top-level
-     * <code>DetectorElement</code> has no parent.         
-     * 
-     * @return This node's parent or <code>null</code> if 
-     *         the DetectorElement has no parent.
+
+    /**
+     * Get the parent element of this node. The top-level <code>DetectorElement</code> has no parent.
+     * 
+     * @return This node's parent or <code>null</code> if the DetectorElement has no parent.
      */
     public IDetectorElement getParent();
 
     /**
      * Get a container with the DetectorElement's children.
      * 
-     * @return An IDetectorElementContainer containing this DE's children.
-     *         This container will be empty if there are no children.
+     * @return An IDetectorElementContainer containing this DE's children. This container will be empty if there are no children.
      */
     public IDetectorElementContainer getChildren();
 
     /**
-     * True if the DetectorElement has children.  
+     * True if the DetectorElement has children.
      * 
      * @return True if has children, else False.
      */
     public boolean hasChildren();
-    
+
     /**
      * Get the name of this DetectorElement.
      * 
      * @return The name this DetectorElement.
      */
     public String getName();
-    
 
     /**
      * Set the identifier of this DE.
@@ -78,90 +66,78 @@
      * @param id
      */
     public void setIdentifier(IIdentifier id);
-    
+
     /**
      * Get the identifier of this DE.
      * 
      * @return The unique identifier of this DetectorElement.
      */
     public IIdentifier getIdentifier();
-    
+
     public IIdentifierHelper getIdentifierHelper();
-    
-    /**
-     * Set the parent DetectorElement.  This method
-     * also calls addChild on the parent.
+
+    /**
+     * Set the parent DetectorElement. This method also calls addChild on the parent.
      * 
      * @param parent The parent DetectorElement.
      */
     public void setParent(IDetectorElement parent);
-    
-    /**
-     * @return True if {@link IGeometryInfo} has been created;
-     *         False if {@link IGeometryInfo} is <code>null</code>. 
+
+    /**
+     * @return True if {@link IGeometryInfo} has been created; False if {@link IGeometryInfo} is <code>null</code>.
      */
     public boolean hasGeometryInfo();
-       
-    /**
-     * Locate the deepest DetectorElement containing a global point
-     * starting with this DetectorElement and traversing into its children.  
+
+    /**
+     * Locate the deepest DetectorElement containing a global point starting with this DetectorElement and traversing into its children.
      *
-     * This method can be used from {@link org.lcsim.geometry.Detector}
-     * to find the deepest node within the complete detector.
-     *   
-     * This method is not on {@link GeometryInfo}, because a DetectorElement is
-     * allowed to have a <code>null</code> GeometryInfo if it is a simple 
-     * container without a geometry path, i.e. a ghost volume.
-     *   
-     * @return The deepest IDetectorElement containing globalPoint
-     *         or <code>null</code> if point is not contained within
-     *         this DetectorElement or its children.
-     */    
+     * This method can be used from {@link org.lcsim.geometry.Detector} to find the deepest node within the complete detector.
+     * 
+     * This method is not on {@link GeometryInfo}, because a DetectorElement is allowed to have a <code>null</code> GeometryInfo if it is a simple container without a geometry path, i.e. a ghost
+     * volume.
+     * 
+     * @return The deepest IDetectorElement containing globalPoint or <code>null</code> if point is not contained within this DetectorElement or its children.
+     */
     public IDetectorElement findDetectorElement(Hep3Vector globalPoint);
-    
+
     /**
      * Locate a child detector element by {@link IIdentifier}.
-     * @param  id The <code>IIdentifier</code> of the <code>DetectorElement</code>.
-     * @return    The matching <code>IDetectorElement</code> to the ID.
+     * @param id The <code>IIdentifier</code> of the <code>DetectorElement</code>.
+     * @return The matching <code>IDetectorElement</code> to the ID.
      */
     public IDetectorElementContainer findDetectorElement(IIdentifier id);
-    
+
     /**
      * Locate a child detector element given a slash-separated list of DetectorElement names.
      * @param pathString
      * @return
      */
     public IDetectorElement findDetectorElement(String pathString);
-    
+
     /**
      * Locate a child detector element given an ordered list of DetectorElement names.
      * @param path
      * @return
      */
-    public IDetectorElement findDetectorElement(String[] path);    
-    
-    /**
-     * Get the readout associated with this DetectorElement,
-     * or <code>null</code> if the DetectorElement has no
-     * associated readout.
+    public IDetectorElement findDetectorElement(String[] path);
+
+    /**
+     * Get the readout associated with this DetectorElement, or <code>null</code> if the DetectorElement has no associated readout.
      * 
      * @see org.lcsim.detector.IReadout
      * @see org.lcsim.detector.Readout
      * 
-     * @return Associated IReadout object or <code>null</code> if
-     *         Readout has been assigned to this DetectorElement.
+     * @return Associated IReadout object or <code>null</code> if Readout has been assigned to this DetectorElement.
      */
     public IReadout getReadout();
 
     /**
-     * True if this DetectorElement has an {@link IReadout}; 
-     * False if the {@link IReadout} is <code>null</code>.
-     * 
-     * @return True if this DetectorElement has a Readout;
-     *         False if there is no Readout.
+     * True if this DetectorElement has an {@link IReadout}; False if the {@link IReadout} is <code>null</code>.
+     * 
+     * @return True if this DetectorElement has a Readout; False if there is no Readout.
      */
     public boolean hasReadout();
-    
+
     /**
      * The named parameters associated to this instance.
      * 
@@ -170,36 +146,32 @@
      * @return An IParameters object containing the DetectorElement's named parameter set.
      */
     public IParameters getParameters();
-    
-    /**
-     * A list of parents from the top to this one.
-     * The first member of the list will be the top {@link IDetectorElement}
-     * in the hierarchy.  The last memory of the list will be
-     * this {@link IDetectorElement}.
+
+    /**
+     * A list of parents from the top to this one. The first member of the list will be the top {@link IDetectorElement} in the hierarchy. The last memory of the list will be this
+     * {@link IDetectorElement}.
      * 
      * @see IDetectorElementContainer
      * 
      * @return A list of ancestors from the top to this node.
      */
     public IDetectorElementContainer getAncestry();
-    
+
     /**
      * True if the DetectorElement is an ancestor of this one.
      */
     public boolean isAncestor(IDetectorElement de);
-    
-    /**
-     * Clear the {@link IReadout} of this {@link DetectorElement}
-     * and recursively visit and clear the children..
+
+    /**
+     * Clear the {@link IReadout} of this {@link DetectorElement} and recursively visit and clear the children..
      * 
      * @see IReadout
      * @see Readout
      */
     public void clearReadouts();
-    
-    /**
-     * True if the DetectorElement is a descendant 
-     * of this one.  
+
+    /**
+     * True if the DetectorElement is a descendant of this one.
      * 
      * @param de A DetectorElement to search for in descendants.
      * @see IDetectorElement
@@ -207,33 +179,33 @@
      * @return True if DetectorElement is a descendant of this one.
      */
     public boolean isDescendant(IDetectorElement de);
-          
+
     /**
      * Recursive pre-order tree traversal of this {@link IDetectorElement}.
      * @param visitor A visitor interface to perform some action on the node.
      */
     public void traverseDescendantsPreOrder(IDetectorElementVisitor visitor);
- 
+
     /**
      * Recrusive post-order tree traversal of this {@link IDetectorElement}.
      * @param visitor A visitor interface to perform some action on the node.
      */
-    public void traverseDescendantsPostOrder(IDetectorElementVisitor visitor);    
-    
+    public void traverseDescendantsPostOrder(IDetectorElementVisitor visitor);
+
     /**
      * Visit this and ancestors.
      * 
      * @param visitor
      */
     public void traverseAncestors(IDetectorElementVisitor visitor);
-    
+
     /**
      * Find ancestors matching a class.
      * 
      * @param klass Class to match.
      */
     public <T extends IDetectorElement> List<T> findAncestors(Class<T> klass);
-    
+
     /**
      * Find descendants matching a class.
      *
@@ -241,12 +213,15 @@
      * @return Get a list of descendants with matching class.
      */
     public <T extends IDetectorElement> List<T> findDescendants(Class<T> klass);
+
+    /**
+     * True if the DetectorElement's PhysicalVolume is flagged as sensitive. False if the PhysicalVolume is not sensitive or the DetectorElement has no associated geometry.
+     * @return True if sensitive; false if not sensitive.
+     */
+    public boolean isSensitive();
     
     /**
-     * True if the DetectorElement's PhysicalVolume is flagged as sensitive.
-     * False if the PhysicalVolume is not sensitive or the DetectorElement has
-     * no associated geometry.
-     * @return True if sensitive; false if not sensitive.
-     */
-    public boolean isSensitive();
+     * This method should be called externally to perform initialization after all child elements have been added.
+     */
+    public void initialize();
 }

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use