View Javadoc

1   /*
2    * ChargeDistribution.java
3    *
4    * Created on October 10, 2007, 10:26 AM
5    *
6    * To change this template, choose Tools | Template Manager
7    * and open the template in the editor.
8    */
9   
10  package org.lcsim.detector.tracker.silicon;
11  
12  import org.lcsim.detector.ITransform3D;
13  import hep.physics.vec.Hep3Vector;
14  import org.lcsim.detector.solids.Transformable;
15  
16  /**
17   *
18   * @author tknelson
19   */
20  public interface ChargeDistribution extends Transformable
21  {
22      // Transform this charge distribution into new coordinates in place
23      public void transform(ITransform3D transform);
24      
25      // Charge distribution transformed into new coordinates
26      public ChargeDistribution transformed(ITransform3D transform);
27      
28      // Normalization of distribution
29      public double getNormalization();
30      
31      // Mean of distribution
32      public Hep3Vector getMean();
33      
34      // One standard deviation along given axis
35      public double sigma1D(Hep3Vector axis);
36      
37      // One dimensional upper integral of charge distribution along a given axis 
38      public double upperIntegral1D(Hep3Vector axis, double integration_limit);            
39  }