Source code for toor.DetectionLayout.Photodetectors.SiPM.Hamamatsu

from toor.DetectionLayout.Photodetectors.SiPM import GenericSiPM


[docs] class HamamatsuS14161Series(GenericSiPM): """ Hamamatsu S14161 Series model: 3050HS-04 or 3050HS-08 """ def __init__(self, model="3050HS-08"): # 3050HS-04 or 3050HS-08 super(HamamatsuS14161Series, self).__init__() # self.applyModelProperties(model) self.setSeries("S14161 Series") self.setModel(model) self.setVendor("Hamamatsu") self.setPixelPitch(50) self.setPixelWidth(50) self.setPixelWidthTolerance(0.5) self.setPixelHeight(50) self.setPixelHeightTolerance(0.5) self.setPixelDepth(0.0) self.setPixelArea(2500) # self.setPixelSpacingX(50) # self.setPixelSpacingY(50) self.setBorderSizeX(0.2) self.setBorderSizeY(0.2) self.setResinThickness(0) self.setGeometricalFillFactor(0.74) self.setPhotonDetectionEfficiencyAtPeak(0.5) self.setNumberOfChannelsX(8) self.setNumberOfChannelsY(8) # self.setTotalNumberOfChannels(4) self.setEffectiveWidth(3) self.setEffectiveHeight(3) self.setEffectiveAreaPerChannel(9) self.setPackageType("Surface Mount") self.setWindowType("Silicone") self.setWindowRefractiveIndex(1.57) self.setBlockSPiMWidth(25.8) self.setBlockSPiMHeight(25.8) self.setBlockSPiMDepth(1.35) # self.setBlockSPiMArea(665.64) self.setExternalBorderSizeX(0.2) self.setExternalBorderSizeY(0.2) self.setChannelOriginalCentrePosition()
[docs] def applyModelProperties(self, model): """ Apply model properties :param model: model name :return: """ if model == '3050HS-04': self.setSeries("S14161 Series") self.setModel(model) self.setVendor("Hamamatsu") self.setPixelPitch(50) self.setPixelWidth(50) self.setPixelWidthTolerance(0.5) self.setPixelHeight(50) self.setPixelHeightTolerance(0.5) self.setPixelDepth(0.0) self.setPixelArea(2500) self.setPixelSpacingX(50) self.setPixelSpacingY(50) self.setBorderSizeX(0) self.setBorderSizeY(0) self.setResinThickness(0) self.setGeometricalFillFactor(0.74) self.setPhotonDetectionEfficiencyAtPeak(0.5) self.setNumberOfChannelsX(4) self.setNumberOfChannelsY(4) # self.setTotalNumberOfChannels(1) self.setEffectiveWidth(3) self.setEffectiveHeight(3) self.setEffectiveAreaPerChannel(9) self.setPackageType("Surface Mount") self.setWindowType("Silicone") self.setWindowRefractiveIndex(1.57) # self.setWindowRefractiveIndexTolerance(0.01) elif model == '3050HS-08': self.setSeries("S14161 Series") self.setModel(model) self.setVendor("Hamamatsu") self.setPixelPitch(50) self.setPixelWidth(50) self.setPixelWidthTolerance(0.5) self.setPixelHeight(50) self.setPixelHeightTolerance(0.5) self.setPixelDepth(0.0) self.setPixelArea(2500) # self.setPixelSpacingX(0.50) # self.setPixelSpacingY(50) self.setBorderSizeX(0.2) self.setBorderSizeY(0.2) self.setResinThickness(0) self.setGeometricalFillFactor(0.74) self.setPhotonDetectionEfficiencyAtPeak(0.5) self.setNumberOfChannelsX(8) self.setNumberOfChannelsY(8) # self.setTotalNumberOfChannels(4) self.setEffectiveWidth(3) self.setEffectiveHeight(3) self.setEffectiveAreaPerChannel(9) self.setPackageType("Surface Mount") self.setWindowType("Silicone") self.setWindowRefractiveIndex(1.57) self.setBlockSPiMWidth(25.8) self.setBlockSPiMHeight(25.8) self.setBlockSPiMDepth(1.35) # self.setBlockSPiMArea(665.64) self.setExternalBorderSizeX(0.2) self.setExternalBorderSizeY(0.2)
# self.setWindowRefractiveIndexTolerance(0.01)
[docs] class HamamatsuS13360Series(GenericSiPM): def __init__(self, idSiPM=0, model="1350PE"): super(HamamatsuS13360Series, self).__init__() self.idSiPM = idSiPM self.setSeries("S13360 Series") if model == "1350PE": self.setModel("1350PE") self.setVendor("Hamamatsu") self.setPixelPitch(50) self.setPixelWidth(50) self.setPixelWidthTolerance(0.5) self.setPixelHeight(50) self.setPixelHeightTolerance(0.5) self.setPixelDepth(0.0) self.setPixelArea(self.pixelWidth * self.pixelHeight) self.setPixelSpacingX(50) self.setPixelSpacingY(50) self.setBorderSizeX(0.4) self.setBorderSizeY(0.4) self.setResinThickness(0) self.setGeometricalFillFactor(0.74) self.setPhotonDetectionEfficiencyAtPeak(0.5) self.setNumberOfChannelsX(1) self.setNumberOfChannelsY(1) # self.setTotalNumberOfChannels(4) self.setEffectiveWidth(1.3) self.setEffectiveHeight(1.3) self.setEffectiveAreaPerChannel(self.effectiveHeight* self.effectiveWidth) self.setPackageType("Surface Mount") self.setWindowType("Silicone") self.setWindowRefractiveIndex(1.57) self.setBlockSPiMWidth(1.3) self.setBlockSPiMHeight(1.3) self.setBlockSPiMDepth(0.85) # self.setBlockSPiMArea(665.64) self.setExternalBorderSizeX(0.49) self.setExternalBorderSizeY(0.49) # self.setPixelSpacingX() self.setChannelOriginalCentrePosition()
if __name__ == "__main__": a = HamamatsuS14161Series(GenericSiPM) print(vars(a)) # ketteek PM1125-WB (BroadCOM) para os cristais de 1.5x1.5x20mm3 ZebraFish