diff --git a/examples/CLICSiD/CMakeLists.txt b/examples/CLICSiD/CMakeLists.txt index 46a85795d14f53b6d0694e281fe6c199b7c5a2d4..17acf871a2c2aef99215f97ccfc463dc781ceed3 100644 --- a/examples/CLICSiD/CMakeLists.txt +++ b/examples/CLICSiD/CMakeLists.txt @@ -64,10 +64,10 @@ endif() add_library(${PackageName} SHARED ${sources}) -add_executable(CalorimeterReco CalorimeterReco.cpp ${sources}) +add_executable(CalorimeterReco CalorimeterReco.cpp) target_link_libraries(${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} ) -target_link_libraries(CalorimeterReco ${PackageName} ${DD4hep_LIBRARIES} ) +target_link_libraries(CalorimeterReco ${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} ) #---Rootmap generation-------------------------------------------------------------- diff --git a/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp b/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp index 7bc97db19ef76cc2875fd6dfa1cc65578c2aee8a..d91c8137415dee029601a88b75fee7d1af54f875 100644 --- a/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp +++ b/examples/CLICSiD/src/CylindricalBarrelCalorimeter_geo.cpp @@ -17,21 +17,21 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens) { xml_dim_t dim = x_det.dimensions(); Material air = lcdd.air(); string det_name = x_det.nameStr(); - Tube envelope; - Volume envelopeVol(det_name+"_envelope",envelope,air); DetElement sdet (det_name,x_det.id()); double z = dim.outer_z(); double rmin = dim.inner_r(); double r = rmin; int n = 0; + Tube envelope(rmin,2*rmin,2*z,0.0,2*M_PI); + Volume envelopeVol(det_name+"_envelope",envelope,air); for(xml_coll_t c(x_det,_U(layer)); c; ++c) { xml_comp_t x_layer = c; for(int i=0, m=0, repeat=x_layer.repeat(); i<repeat; ++i, m=0) { string layer_name = det_name + _toString(n,"_layer%d"); - Tube layer_tub; - Volume layer_vol(layer_name,layer_tub,air); double rlayer = r; + Tube layer_tub(rmin,rlayer,2*z,0,2*M_PI); + Volume layer_vol(layer_name,layer_tub,air); for(xml_coll_t l(x_layer,_U(slice)); l; ++l, ++m) { xml_comp_t x_slice = l; diff --git a/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp b/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp index f2fcf4f6959e5e5b18b2fc9a4645a7c11b211895..8f078f9d9b69cc7c2c02dea74fdf735e66d70a5c 100644 --- a/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp +++ b/examples/CLICSiD/src/CylindricalEndcapCalorimeter_geo.cpp @@ -19,16 +19,17 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens) { Material air = lcdd.air(); string det_name = x_det.nameStr(); bool reflect = x_det.reflect(); - Tube envelope; - Volume envelopeVol(det_name+"_envelope",envelope,air); double zmin = dim.inner_z(); double rmin = dim.inner_r(); double rmax = dim.outer_r(); double totWidth = Layering(x_det).totalThickness(); double z = zmin; + Tube envelope (rmin,rmax,totWidth,0,2*M_PI); + Volume envelopeVol(det_name+"_envelope",envelope,air); int layer_num = 1; PlacedVolume pv; + // Set attributes of slice for(xml_coll_t c(x_det,_U(layer)); c; ++c) { xml_comp_t x_layer = c; double layerWidth = 0; @@ -50,7 +51,6 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens) { sens.setType("calorimeter"); slice_vol.setSensitiveDetector(sens); } - // Set attributes of slice slice_vol.setAttributes(lcdd,x_slice.regionStr(),x_slice.limitsStr(),x_slice.visStr()); pv = layer_vol.placeVolume(slice_vol,Position(0,0,z-zlayer-layerWidth/2+w/2)); pv.addPhysVolID("slice",m+1); diff --git a/examples/CLICSiD/src/MultiLayerTracker_geo.cpp b/examples/CLICSiD/src/MultiLayerTracker_geo.cpp index 4e78e6d10a890a810223e8d46c31dc8666d55da8..54d5a70e169f0aff9ea622ce99bd613fa8a7cba2 100644 --- a/examples/CLICSiD/src/MultiLayerTracker_geo.cpp +++ b/examples/CLICSiD/src/MultiLayerTracker_geo.cpp @@ -25,12 +25,12 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens) { for(xml_coll_t i(x_det,_U(layer)); i; ++i, ++n) { xml_comp_t x_layer = i; string l_name = det_name+_toString(n,"_layer%d"); - DetElement layer(sdet,_toString(n,"layer%d"),x_layer.id()); - Tube l_tub; - Volume l_vol(l_name,l_tub,air); double z = x_layer.outer_z(); double rmin = x_layer.inner_r(); double r = rmin; + DetElement layer(sdet,_toString(n,"layer%d"),x_layer.id()); + Tube l_tub (rmin,2*rmin,z,0.0,2*M_PI); + Volume l_vol(l_name,l_tub,air); int m = 0; for(xml_coll_t j(x_layer,_U(slice)); j; ++j, ++m) { @@ -43,8 +43,8 @@ static Ref_t create_detector(LCDD& lcdd, xml_h e, SensitiveDetector sens) { r += thickness; if ( x_slice.isSensitive() ) { - sens.setType("tracker"); - s_vol.setSensitiveDetector(sens); + sens.setType("tracker"); + s_vol.setSensitiveDetector(sens); } // Set Attributes s_vol.setAttributes(lcdd,x_slice.regionStr(),x_slice.limitsStr(),x_slice.visStr());