def testSlicing(self): "Axis[3:5]" from histogram import createContinuousAxis, arange axis = createContinuousAxis("distance", "meter", arange(1.0, 2.0, 0.1)) from histogram.SlicingInfo import SlicingInfo new = axis[SlicingInfo((1.1, 1.5))] self.assertVectorAlmostEqual(new.storage().asList(), [1.05, 1.15, 1.25, 1.35, 1.45, 1.55]) new = axis[SlicingInfo((1.0, 1.9))] self.assertVectorAlmostEqual(new.storage().asList(), axis.storage().asList()) self.assertRaises(IndexError, axis.__getitem__, SlicingInfo( (1.0, 2.0))) # dimensional sliciing from histogram._units import length meter = length.meter new = axis[SlicingInfo((1.0 * meter, 1.9 * meter))] self.assertVectorAlmostEqual(new.storage().asList(), axis.storage().asList()) return
def testSlicing(self): "Axis[3:5]" from histogram import createContinuousAxis, arange axis = createContinuousAxis( "distance", "meter", arange( 1.0, 2.0, 0.1 ) ) from histogram.SlicingInfo import SlicingInfo new = axis[ SlicingInfo( (1.1, 1.5) ) ] self.assertVectorAlmostEqual( new.storage().asList(), [1.05, 1.15, 1.25, 1.35, 1.45, 1.55] ) new = axis[ SlicingInfo( (1.0, 1.9) ) ] self.assertVectorAlmostEqual( new.storage().asList(), axis.storage().asList() ) self.assertRaises( IndexError, axis.__getitem__, SlicingInfo( (1.0, 2.0) ) ) # dimensional sliciing from histogram._units import length meter = length.meter new = axis[ SlicingInfo( (1.0*meter, 1.9*meter) ) ] self.assertVectorAlmostEqual( new.storage().asList(), axis.storage().asList() ) return
def create(noerror=False): from histogram import createContinuousAxis, createDiscreteAxis, arange #create axis E axisE = createContinuousAxis('E', 'meter', arange(0.5, 3.5, 1.0)) #create axis "tubeId" axisTubeId = createDiscreteAxis("tubeId", [1, 3, 99], 'int') #create histogram from histogram import createDataset from ndarray.StdVectorNdArray import NdArray dataStorage = NdArray('double', range(9)) dataStorage.setShape((3, 3)) errorsStorage = NdArray('double', range(9)) errorsStorage.setShape((3, 3)) data = createDataset('data', '', storage=dataStorage) if noerror: errors = None else: errors = createDataset('errors', '', storage=errorsStorage) from histogram.Histogram import Histogram histogram = Histogram(name='I(E, TubeId)', data=data, errors=errors, axes=[axisE, axisTubeId]) return histogram
def createHistogram(noerror = False): from histogram import createContinuousAxis, arange, createDiscreteAxis #create axis E axisE = createContinuousAxis( 'E', 'meter', arange(0.5, 3.5, 1.0) ) #create axis "tubeId" axisTubeId = createDiscreteAxis( "tubeId", [1, 3, 99], 'int') #create histogram data = errors = np.arange(9) data.shape = 3,3 if noerror: errors = None return histogram.histogram( name = 'I(E, TubeId)', data = data, errors = errors, axes = [axisE, axisTubeId])
def create(noerror = False): from histogram import createContinuousAxis, createDiscreteAxis, arange #create axis E axisE = createContinuousAxis( 'E', 'meter', arange( 0.5, 3.5, 1.0 ) ) #create axis "tubeId" axisTubeId = createDiscreteAxis( "tubeId", [1, 3, 99], 'int') #create histogram from histogram import createDataset from ndarray.StdVectorNdArray import NdArray dataStorage = NdArray( 'double', range(9) ); dataStorage.setShape( (3,3) ) errorsStorage = NdArray( 'double', range(9) ); errorsStorage.setShape( (3,3) ) data = createDataset('data', '', storage = dataStorage ) if noerror: errors = None else: errors = createDataset('errors', '', storage = errorsStorage ) from histogram.Histogram import Histogram histogram = Histogram( name = 'I(E, TubeId)', data = data, errors = errors, axes = [axisE, axisTubeId]) return histogram