Aargh. I just reread the docs, particularly about intersecting ranges, and this is not supported.
Sorry about the line noise. On Wed, 2009-02-18 at 15:25 -0500, Diab Jerius wrote: > I'm trying to simulate the effects of spectral pileup in a detector. > Incoming event are transformed into a pseudo-Gaussian shaped signal > (f(t)). If two or more events occur too close together their signals > overlap. > > As a prototype I thought I could use the range operator to construct > views onto a piddle that would allow me to easily add overlapping > signals. > > For example, given > > $ph : the signal function with dimension [$nsample] > $t: the arrival time of events with dimension [$nevents] > $buffer: the coadded signals > > Then > > $bp = $buffer->range($t->transpose,$nsample)->transpose; > > is a set of $nsample windows onto $buffer, some of which may overlap. > Theoretically I could then perform > > $bp += $ph > > and $buffer would contain the coadded signals. Alas, this doesn't seem > to work. Here's an abstracted example > > $z = xvals(20); > $v = $z->range( pdl( 1,8 )->transpose, 9 )->transpose; > > p $z > [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] > > p $v > > [ > [ 1 2 3 4 5 6 7 8 9] > [ 8 9 10 11 12 13 14 15 16] > ] > > So, $v is a set of two overlapping windows onto $z. But, > > $v += 1; > > p $v > > [ > [ 2 3 4 5 6 7 8 9 10] > [ 9 10 11 12 13 14 15 16 17] > ] > > p $z > [0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17 18 19] > > The addition is only done once per element in $z, not once per element > in $v. I expected $v to look like this: > > [ > [ 2 3 4 5 6 7 8 10 11] > [10 11 11 12 13 14 15 16 17] > ] > > and thus for $z to look like this > > [0 2 3 4 5 6 7 8 10 11 11 12 13 14 15 16 17 17 18 19] > > > Bug or feature? > > Thanks, > > Diab > > > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
