code: def ptdAngle(self,t,dangle):
          
          if isinstance(t,(int,float,numpy.float32,numpy.float64)):
              t= numpy.array([t])
          out= numpy.zeros(len(t))
          if t > 0.:
              dO= dangle/t[t < self._tdisrupt]
          else:
              return 0.
          #p(t|a) = \int dO p(O,t|a) = \int dO p(t|O,a) p(O|a) = \int dO delta (t-a/O)p(O|a) = O*2/a p(O|a); p(O|a) = \int dt p(a|O,t) p(O)p(t) = 1/O p(O)
          out[t < self._tdisrupt]=\
              dO**2./dangle*numpy.exp(-0.5*(dO-self._meandO)**2.\
                                           /self._sortedSigOEig[2])/\
                                           numpy.sqrt(self._sortedSigOEig[2])
          return out
docs: NAME:
  
             ptdangle
  
          PURPOSE:
  
             return the probability of a given stripping time at a given angle along the stream
  
          INPUT:
  
             t - stripping time
  
             dangle - angle offset along the stream
  
          OUTPUT:
  
             p(td|dangle)
  
          HISTORY:
  
             2013-12-05 - Written - Bovy (IAS)