View Javadoc

1   package org.lcsim.geometry.subdetector;
2   
3   import hep.graphics.heprep.HepRep;
4   import hep.graphics.heprep.HepRepFactory;
5   
6   import org.jdom.Element;
7   import org.jdom.JDOMException;
8   import org.lcsim.detector.converter.heprep.DetectorElementToHepRepConverter;
9   
10  /**
11   * @author Jeremy McCormick <jeremym@slac.stanford.edu>
12   * @version $Id: PolyhedraEndcapCalorimeter2.java,v 1.13 2012/01/30 13:43:47 jeremy Exp $
13   */
14  public class PolyhedraEndcapCalorimeter2 extends AbstractPolyhedraCalorimeter
15  {
16      public PolyhedraEndcapCalorimeter2( Element node ) throws JDOMException
17      {
18          super( node );
19          build( node );
20      }
21  
22      private void build( Element node ) throws JDOMException
23      {        
24          Element dimensions = node.getChild( "dimensions" );
25         
26          innerZ = dimensions.getAttribute( "zmin" ).getDoubleValue();
27          outerZ = innerZ + getLayering().getThickness();
28          zlength = outerZ - innerZ;
29  
30          innerRadius = dimensions.getAttribute( "rmin" ).getDoubleValue();
31          outerRadius = dimensions.getAttribute( "rmax" ).getDoubleValue();        
32      
33          // Set layering pre-offset.
34          getLayering().setOffset( innerZ );
35      }
36  
37      public void appendHepRep( HepRepFactory factory, HepRep heprep )
38      {
39          DetectorElementToHepRepConverter.convert( this.getDetectorElement(), factory, heprep, 2, true, getVisAttributes().getColor() );
40      }
41  
42      public boolean isEndcap()
43      {
44          return true;
45      }
46  }