content: /*
   * Copyright (C) 2014 Zijia Guo
   * CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
  */
  package edu.stanford.rsl.conrad.phantom;
  
  import edu.stanford.rsl.conrad.geometry.shapes.simple.Cone;
  import edu.stanford.rsl.conrad.geometry.transforms.Translation;
  import edu.stanford.rsl.conrad.physics.PhysicalObject;
  import edu.stanford.rsl.conrad.physics.materials.database.MaterialsDB;
  import edu.stanford.rsl.conrad.utils.CONRAD;
  
  /**
   * Phantom to test forward and back projection.
   * 
   * Creates a simple cone with a tip at the origin.
   * The material is set to Plexiglass (density of 1.95).
   * 
   *
   */
  public class ConePhantom extends AnalyticPhantom {
  
  
  	/**
  	 * 
  	 */
  	private static final long serialVersionUID = -6698697230296518461L;
  
  	@Override
  	public String getBibtexCitation() {
  		return CONRAD.CONRADBibtex;
  	}
  
  	@Override
  	public String getMedlineCitation() {
  		return CONRAD.CONRADMedline;
  	}
  
  	@Override
  	public String getName() {
  		return "Cone Phantom";
  	}
  
  	public ConePhantom() {
  		// Body of the phantom.
  		Cone theCone = new Cone(120, 120, 120);
  		Translation zTranslation = new Translation(0, 0, 40);
  		theCone.applyTransform(zTranslation);
  		
  		PhysicalObject po = new PhysicalObject();
  		po.setMaterial(MaterialsDB.getMaterialWithName("Plexiglass")); // D = 1.95
  		po.setShape(theCone);
  		
  		add(po);
  		
  		updateSceneLimits();
  	}
  
  }
  