def _sample_aAt(self,n):
        """Sampling frequencies, angles, and times part of sampling, for stream with gap"""
        # Use streamdf's _sample_aAt to generate unperturbed frequencies,
        # angles
        Om,angle,dt= super(streamgapdf,self)._sample_aAt(n)
        # Now rewind angles by timpact, apply the kicks, and run forward again
        dangle_at_impact= angle-numpy.tile(self._progenitor_angle.T,(n,1)).T\
            -(Om-numpy.tile(self._progenitor_Omega.T,(n,1)).T)*self._timpact
        dangle_par_at_impact= numpy.dot(dangle_at_impact.T,
                                        self._dsigomeanProgDirection)\
                                        *self._gap_sigMeanSign
        # Calculate and apply kicks (points not yet released have zero kick)
        dOr= self._kick_interpdOr(dangle_par_at_impact)
        dOp= self._kick_interpdOp(dangle_par_at_impact)
        dOz= self._kick_interpdOz(dangle_par_at_impact)
        Om[0,:]+= dOr
        Om[1,:]+= dOp
        Om[2,:]+= dOz
        angle[0,:]+=\
            self._kick_interpdar(dangle_par_at_impact)+dOr*self._timpact
        angle[1,:]+=\
            self._kick_interpdap(dangle_par_at_impact)+dOp*self._timpact
        angle[2,:]+=\
            self._kick_interpdaz(dangle_par_at_impact)+dOz*self._timpact
        return (Om,angle,dt)
def _sample_aAt ( self , n ) : Om , angle , dt = super ( streamgapdf , self ) . _sample_aAt ( n ) dangle_at_impact = angle - numpy . tile ( self . _progenitor_angle . T , ( n , 1 ) ) . T - ( Om - numpy . tile ( self . _progenitor_Omega . T , ( n , 1 ) ) . T ) * self . _timpact dangle_par_at_impact = numpy . dot ( dangle_at_impact . T , self . _dsigomeanProgDirection ) * self . _gap_sigMeanSign dOr = self . _kick_interpdOr ( dangle_par_at_impact ) dOp = self . _kick_interpdOp ( dangle_par_at_impact ) dOz = self . _kick_interpdOz ( dangle_par_at_impact ) Om [ 0 , : ] += dOr Om [ 1 , : ] += dOp Om [ 2 , : ] += dOz angle [ 0 , : ] += self . _kick_interpdar ( dangle_par_at_impact ) + dOr * self . _timpact angle [ 1 , : ] += self . _kick_interpdap ( dangle_par_at_impact ) + dOp * self . _timpact angle [ 2 , : ] += self . _kick_interpdaz ( dangle_par_at_impact ) + dOz * self . _timpact return ( Om , angle , dt )
Sampling frequencies, angles, and times part of sampling, for stream with gap