<?xml version="1.0" encoding="UTF-8"?> <lccdd> <define> <!-- vessel geometry --> <constant name="ERICH_Length" value="BackwardPIDRegion_length"/> <!-- vessel z-length --> <constant name="ERICH_zmin" value="-BackwardPIDRegion_zmin"/> <!-- vessel front --> <constant name="ERICH_zmax" value="ERICH_zmin - ERICH_Length"/> <!-- vessel back --> <constant name="ERICH_rmin0" value="BackwardPIDRegion_tan * BackwardPIDRegion_zmin"/> <!-- bore radius at vessel frontplane --> <constant name="ERICH_rmin1" value="BackwardPIDRegion_tan * (BackwardPIDRegion_zmin + BackwardPIDRegion_length)"/> <!-- bore radius at vessel backplane --> <constant name="ERICH_rmax" value="BackwardPIDRegion_rmax - 2*cm"/> <!-- vessel backplane radius --> <constant name="ERICH_wall_thickness" value="0.5*cm"/> <!-- thickness of radial walls --> <constant name="ERICH_window_thickness" value="0.1*cm"/> <!-- thickness of entrance and exit walls --> <!-- additional parameters --> <constant name="ERICH_aerogel_thickness" value="3.0*cm"/> <!-- aerogel thickness --> <constant name="ERICH_sensor_active_size" value="2*24.0*mm"/> <!-- sensor side length (effective area) --> <constant name="ERICH_sensor_full_size" value="2*25.8*mm"/> <!-- sensor side length (full size, with enclosure) --> <constant name="ERICH_sensor_thickness" value="1.5*mm"/> <!-- sensor thickness --> <constant name="ERICH_num_px" value="2*8"/> <!-- number of pixels along one side of the sensor --> <!-- debugging switches --> <comment> - `ERICH_debug_optics`: 1 = all components become vacuum; test opticalphotons from IP 2 = all components become vacuum, except for `gasvol`, test charged particles from IP 0 = off </comment> <constant name="ERICH_debug_optics" value="0"/> </define> <detectors> <!-- /detectors/detector --> <documentation level="10"> ### eRICH: Electron Endcap RICH (name TBD) </documentation> <detector id="BackwardRICH_ID" name="ERICH" type="athena_ERICH" readout="ERICHHits" gas="C4F10_ERICH" material="Aluminum" vis_vessel="DRICH_vessel_vis" vis_gas="DRICH_gas_vis" debug_optics="ERICH_debug_optics" > <!-- /detectors/detector/dimensions --> <documentation level="10"> #### Vessel - dimensions: - `zmin`: z-position of vessel front plane - `length`: overall z-length of the full vessel - `rmin0` and `rmin1`: bore radius at front plane and back plane, respectively - `rmax0` and `rmax1`: outer radius of vessel, at front plane and back plane, respectively - `nsectors`: number of azimuthal sectors - `wall_thickness`: thickness of radial walls - `window_thickness`: thickness of entrance and exit disks </documentation> <dimensions zmin="ERICH_zmin" zmax="ERICH_zmax" length="ERICH_Length" rmin0="ERICH_rmin0" rmin1="ERICH_rmin1" rmax0="ERICH_rmax" rmax1="ERICH_rmax" nsectors="6" wall_thickness="ERICH_wall_thickness" window_thickness="ERICH_window_thickness" /> <!-- /detectors/detector/radiator --> <documentation level="10"> #### Radiator - radiator is defined in a wedge of azimuthal space, composed of aerogel and a filter; the filter is applied to the back of the aerogel, so that it separates the aerogel and gas radiators - dimensions: - `frontplane`: front of the aerogel, w.r.t. front plane of the vessel envelope - `rmin` and `rmax`: inner and outer radius - `phiw`: azimuthal width of wedge - `thickness`: radiator thickness, defined separately for aerogel and filter - `pitch`: controls the angle of the radiator (0=vertical) </documentation> <radiator frontplane="-ERICH_window_thickness" rmin="ERICH_rmin0 + ERICH_wall_thickness + 0.5*cm" rmax="(ERICH_rmax/ERICH_zmax)*ERICH_zmin + 8.0*cm" phiw="60*degree" pitch="0*degree" > <aerogel material="Aerogel_DRICH" vis="DRICH_aerogel_vis" thickness="ERICH_aerogel_thickness" /> <filter material="Acrylic_DRICH" vis="DRICH_filter_vis" thickness="0.3*mm" /> </radiator> <!-- /detectors/detector/sensors --> <documentation level="10"> #### Sensors </documentation> <sensors> <!-- /detectors/detector/sensors/module --> <documentation level="10"> ##### Sensor module - based on Hamamatsu S13361-3050AE-08 - effective area: 24.0 x 24.0 mm - enclosure size: 25.8 x 25.8 mm - pixel size: 3x3 mm (8x8 matrix) - thickness: 1.5 mm - dimensions: - `side`: side length of the square module - `thickness`: thickness of the sensor module - `gap`: provides room between the squares, to help prevent them from overlapping - note: the values of `side` and `gap` will determine how many sensors there are, since the sensor placement algorithm will try to place as many as it can in the specified region </documentation> <module material="Silicon" surface="SensorSurface_DRICH" vis="DRICH_sensor_vis" side="ERICH_sensor_active_size" thickness="ERICH_sensor_thickness" gap="0.5*(ERICH_sensor_full_size-ERICH_sensor_active_size) + 0.5*mm" /> <!-- /detectors/detector/sensors/plane --> <documentation level="10"> ##### Sensor plane - sensors will be placed on a plane - plane dimensions: - `frontplane`: z-position of the sensor plane active surface (e.g., photocathode), w.r.t aerogel backplane; absolute value of this number is the distance between aerogel/filter boundary and sensor surface - `rmin`: minimum radial position of a sensor's centroid - `rmax`: maximum radial position of a sensor's centroid </documentation> <plane frontplane="-40*cm" rmin="ERICH_rmin1 + 2*cm" rmax="ERICH_rmax - 4*cm" /> <services> <comment> SJJ: random standin for readout + electronics + cooling @FIXME </comment> <component name="aluminum" thickness="10*mm" vis="RICHServiceVis" material="Aluminum"/> </services> </sensors> </detector> </detectors> <documentation level="10"> #### Readout - segmentation: square matrix of pixels - `grid_size_x,y`: size of each sensor, but note we must divide sensor size by 1 less than the number of pixels, to account for fenceposting - `offset_x,y`: specified such that the `x` and `y` indicators are unsigned - indicators and `cellID` bits: | indicator | offset | length | |-----------|--------|--------| | eRICH ID | 0 | 8 | | sensor | 8 | 12 | | x pixel | 20 | 16 | | y pixel | 36 | 16 | </documentation> <readouts> <readout name="ERICHHits"> <segmentation type="CartesianGridXY" grid_size_x="ERICH_sensor_active_size/(ERICH_num_px-1)" grid_size_y="ERICH_sensor_active_size/(ERICH_num_px-1)" offset_x="-ERICH_sensor_active_size/2.0" offset_y="-ERICH_sensor_active_size/2.0" /> <id>system:8,module:12,x:20:16,y:16</id> </readout> </readouts> </lccdd>