Skip to content
Snippets Groups Projects
Commit adfa7bae authored by Dmitry Romanov's avatar Dmitry Romanov
Browse files

Works again

parent f071ed25
Branches
Tags
No related merge requests found
......@@ -21,12 +21,13 @@
</comment>
<define>
<constant name="DIRCFake_rmin" value="BarrelTracking_rmax-11*cm"/>
<constant name="DIRCFake_rmin" value="DIRC_rmin"/>
<constant name="DIRC_rotation" value="pi" comment="Allows DIRC flip"/>
<!-- <constant name="cb_DIRC_length" value="DIRCLength"/> -->
<!-- CLEANUP THIS if not sure. This is from the initial implementation
<constant name="DIRC_length" value="285.500*cm"/>
<constant name="DIRCFake_rmin" value="82.00*cm"/>-->
<constant name="DIRC_verbose" value="1" comment="0-no output, 1-some, 2-verbose"/>
<!-- Prism -->
<constant name="DIRCPrism_width" value="360*mm"/>
......@@ -107,16 +108,16 @@
</regions>
<display>
<vis name="DIRCTube" ref="AnlTeal" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCTube" ref="AnlGold" alpha="0.3" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCBox" ref="AnlLight_Gray" alpha="0.1" visible="true" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens1" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens2" ref="AnlProcess_Blue" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCLens3" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCBar" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCGlue" ref="AnlViolet" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCMirror" ref="AnlGray" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCPrism" ref="AnlTeal" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCFd" ref="AnlRed" visible="true" showDaughters="false" />
<vis name="DIRCBar" ref="AnlTeal" alpha="0.5" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCGlue" ref="AnlViolet" alpha="0.5" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCMirror" ref="AnlGray" alpha="0.5" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCPrism" ref="AnlTeal" alpha="0.5" visible="true" showDaughters="false" lineStyle="solid" drawingStyle="solid" />
<vis name="DIRCFd" ref="AnlRed" alpha="0.5" visible="true" showDaughters="false" />
</display>
<detectors>
......@@ -142,11 +143,11 @@
length="DIRCBar_length"
repeat="DIRCBar_count"
gap="DIRCBar_gap"
material="Quartz"
material="QuartzOptical"
vis="DIRCBar"
/>
<glue thickness="DIRCGlue_thickness" material="Epotek" vis="DIRCGlue"/>
<glue thickness="DIRCGlue_thickness" material="EpotekOptical" vis="DIRCGlue"/>
<!-- lens -->
<lens
......@@ -164,7 +165,7 @@
width="DIRCFd_width"
thickness="DIRCFd_thickness"
vis="DIRCFd"
material="Quartz"
material="QuartzOptical"
/>
</module>
</detector>
......
......@@ -3,6 +3,7 @@
#include "DD4hep/Printout.h"
#include "DDRec/DetectorData.h"
#include "DDRec/Surface.h"
#include "fmt/core.h"
#include <XML/Helper.h>
//////////////////////////////////
......@@ -30,6 +31,14 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
double det_rin = dirc_dim.rmin();
double det_rout = dirc_dim.rmax();
double SizeZ = dirc_dim.length();
int verbose = desc.constant<int>("DIRC_verbose");
// >oO debug output
if(verbose) {
fmt::print("DIRC: dimensions rin={}[cm] rout={}[cm] len={}[cm]\n", det_rin/cm, det_rout/cm, SizeZ/cm);
}
// DEBUG
// double mirror_r1 = x_det.attr<double>(_Unicode(r1));
......@@ -39,15 +48,16 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
Material Vacuum = desc.material("Vacuum");
Material air = desc.material("AirOptical");
Material quartz = desc.material("Quartz");
Material epotek = desc.material("Epotek");
Material nlak33a = desc.material("Nlak33a");
Material quartz = desc.material("QuartzOptical");
Material epotek = desc.material("EpotekOptical");
Material nlak33a = desc.material("Nlak33aOptical");
auto& bar_material = quartz;
auto mirror_material = desc.material("Aluminum"); // mirror material
Tube det_geo(det_rin, det_rout, SizeZ / 2., 0., 360.0 * deg);
//Volume det_volume("DIRC", det_geo, Vacuum);
Assembly det_volume("DIRC");
Volume det_volume("DIRC", det_geo, air);
//Assembly det_volume("DIRC");
det_volume.setVisAttributes(desc.visAttributes(xml_det.visStr()));
DetElement det(det_name, det_id);
......@@ -284,7 +294,8 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
Position fPrismShift(prism_shift_x, 0, prism_shift_z);
dirc_module.placeVolume(lPrizm, Transform3D(xRot, fPrismShift));
dirc_module.placeVolume(lFd, Position(0.5 * fFd[1] - 0.5 * fPrizm[3] - evshiftx, 0, evshiftz));
//dirc_module.placeVolume(lFd, Position(0.5 * fFd[1] - 0.5 * fPrizm[3] - evshiftx, 0, evshiftz));
double dphi = 2 * M_PI / (double)fNBoxes;
for (int i = 0; i < fNBoxes; i++) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment