Skip to content
Snippets Groups Projects

Include back in master MPChannelID and MPVolumeID

Merged Renato Quagliani requested to merge rquaglia_run5_addbackChannelID_VolumeID into master
All threads resolved!
@@ -626,7 +626,7 @@ namespace {
rot_z = dd4hep::_toDouble( "MUON:HalfFilter2Block3bRotZ" );
parametrical_pv( lvHalfFilter2, volume( "lvBlock3" ), pos, {shift1}, {number1}, "pvBlock3bHF2", {0.0, 0.0, rot_z} );
//
number1 = dd4hep::_toInt( "MUON:HalfFilter2SteelPlate9Number1" );
number1 = dd4hep::_toInt( "MUON:HalfFilter2SteelPlate9Number1" );
number1 = dd4hep::_toInt( "MUON:HalfFilter2AirGap2Number1" );
number2 = dd4hep::_toInt( "MUON:HalfFilter2AirGap2Number2" );
int number3 = dd4hep::_toInt( "MUON:HalfFilter2AirGap2Number3" );
@@ -642,8 +642,8 @@ namespace {
shift1 = get_pos( "0.0", "MUON:HalfFilter2Concrete4Shift1Y", "0.0" );
parametrical_pv( lvHalfFilter2, volume( "lvConcrete4" ), pos, {shift1}, {number1}, "pvConcrete4HF2" );
//
pos = get_pos( "MUON:HalfFilter2SteelPlate9PosX", "MUON:HalfFilter2SteelPlate9PosY", "0.0" );
shift1 = get_pos( "0.0", "MUON:HalfFilter2SteelPlate9Shift1Y", "0.0" );
pos = get_pos( "MUON:HalfFilter2SteelPlate9PosX", "MUON:HalfFilter2SteelPlate9PosY", "0.0" );
shift1 = get_pos( "0.0", "MUON:HalfFilter2SteelPlate9Shift1Y", "0.0" );
parametrical_pv( lvHalfFilter2, volume( "lvSteelPlate9" ), pos, {shift1}, {number1}, "pvSteelP9HF2" );
//
number1 = dd4hep::_toInt( "MUON:HalfFilter2AirGap2bNumber1" );
@@ -699,7 +699,8 @@ namespace {
double plug_size_Y = dd4hep::_toDouble( Form( "MUON:Filter%01dPlugBoxSizeY", filterNumber + 1 ) );
double plug_size_Z = dd4hep::_toDouble( Form( "MUON:Filter%01dPlugBoxSizeZ", filterNumber + 1 ) );
dd4hep::Box PlugBox( ( plug_size_X - muon_eps )/ 2.0, ( plug_size_Y - muon_eps ) / 2.0, ( plug_size_Z - muon_eps ) / 2.0 );
dd4hep::Box PlugBox( ( plug_size_X - muon_eps ) / 2.0, ( plug_size_Y - muon_eps ) / 2.0,
( plug_size_Z - muon_eps ) / 2.0 );
// plug hole dimensions
double plug_cone_length = dd4hep::_toDouble( Form( "MUON:Filter%01dPlugHoleSizeZ", filterNumber + 1 ) );
@@ -712,16 +713,17 @@ namespace {
// subtract the hole from the filter volume
dd4hep::SubtractionSolid MuFilterVol(
filterBox, SubtractionCone,
dd4hep::Transform3D( dd4hep::RotationX( -1* rot_ang ), dd4hep::Position( 0.0, 200.0 * dd4hep::mm, 0.0 ) ) );
dd4hep::Transform3D( dd4hep::RotationX( -1 * rot_ang ), dd4hep::Position( 0.0, 200.0 * dd4hep::mm, 0.0 ) ) );
dd4hep::Volume lvFilter( Form( "lvMuFilter%01d", filterNumber + 1 ), MuFilterVol, description.air() );
// dd4hep::Assembly lvFilter( Form( "lvMuFilter%01d", filterNumber + 1 ) );
// dd4hep::Assembly lvFilter( Form( "lvMuFilter%01d", filterNumber + 1 ) );
lvFilter.setVisAttributes( description, "Muon:StationVis" );
dd4hep::SubtractionSolid PlugA( PlugBox, SubtractionCone, dd4hep::Position( -plug_size_X / 2.0, -7.5*dd4hep::mm, 0.0 ) );
dd4hep::SubtractionSolid PlugC( PlugBox, SubtractionCone, dd4hep::Position( plug_size_X / 2.0, -7.5*dd4hep::mm, 0.0 ) );
dd4hep::SubtractionSolid PlugA( PlugBox, SubtractionCone,
dd4hep::Position( -plug_size_X / 2.0, -7.5 * dd4hep::mm, 0.0 ) );
dd4hep::SubtractionSolid PlugC( PlugBox, SubtractionCone,
dd4hep::Position( plug_size_X / 2.0, -7.5 * dd4hep::mm, 0.0 ) );
double filter_side_offset = dd4hep::_toDouble("MUON:FilterSideOffset");
double filter_side_offset = dd4hep::_toDouble( "MUON:FilterSideOffset" );
dd4hep::Volume lvPlugA( Form( "lvFilterBeam%01dA", filterNumber + 1 ), PlugA,
description.material( "MUON:FilterIron" ) );
@@ -729,24 +731,30 @@ namespace {
description.material( "MUON:FilterIron" ) );
// It would be better if we place inside the sides. //Rotation now?
pv = lvFilter.placeVolume( lvPlugA, dd4hep::Position( plug_size_X / 2.0 + filter_side_offset, 0.2075 * dd4hep::m, 0.0 ) );
pv = lvFilter.placeVolume( lvPlugA,
dd4hep::Position( plug_size_X / 2.0 + filter_side_offset, 0.2075 * dd4hep::m, 0.0 ) );
pv->SetName( Form( "FilterBeam%01dA", filterNumber + 1 ) );
lvPlugA.setVisAttributes( description, "MUON:BeamPlugVis" );
pv = lvFilter.placeVolume( lvPlugC, dd4hep::Position( -plug_size_X / 2.0 - filter_side_offset, 0.2075 * dd4hep::m, 0.0 ) );
pv = lvFilter.placeVolume( lvPlugC,
dd4hep::Position( -plug_size_X / 2.0 - filter_side_offset, 0.2075 * dd4hep::m, 0.0 ) );
pv->SetName( Form( "FilterBeam%01dC", filterNumber + 1 ) );
lvPlugC.setVisAttributes( description, "MUON:BeamPlugVis" );
pv = lvFilter.placeVolume(
volume( buildingBlocks[filterNumber] ),
dd4hep::Position( -dd4hep::_toDouble( Form( "MUON:HalfSideF%01dPosX", filterNumber + 1 ) ) - filter_side_offset, 0.0, 0.0 ) );
dd4hep::Position( -dd4hep::_toDouble( Form( "MUON:HalfSideF%01dPosX", filterNumber + 1 ) ) -
filter_side_offset,
0.0, 0.0 ) );
pv->SetName( Form( "pvHalfFilter%dCSide", filterNumber + 1 ) );
pv = lvFilter.placeVolume(
volume( buildingBlocks[filterNumber] ),
dd4hep::Transform3D(
dd4hep::RotationZYX( 0, 180 * dd4hep::degree, 0 ),
dd4hep::Position( dd4hep::_toDouble( Form( "MUON:HalfSideF%01dPosX", filterNumber + 1 ) ) + filter_side_offset , 0.0, 0.0 ) ) );
dd4hep::Position( dd4hep::_toDouble( Form( "MUON:HalfSideF%01dPosX", filterNumber + 1 ) ) +
filter_side_offset,
0.0, 0.0 ) ) );
pv->SetName( Form( "pvHalfFilter%dASide", filterNumber + 1 ) );
lvFilter.setVisAttributes( description, "MUON:FilterVis" );
@@ -1030,10 +1038,6 @@ namespace {
// Detector elements
dd4hep::DetElement deChamber( "chamber", id );
dd4hep::DetElement deGasGap( deChamber, "GasGap", 0 );
dd4hep::DetElement deSensitiveGasGap( deGasGap, "gasgap", 0 );
deSensitiveGasGap.setPlacement( pvGasGap );
// Place frame around
pos_X = 0.0;
pos_Y = 0.0;
@@ -1059,10 +1063,10 @@ namespace {
std::string gasgap_name = Form( "GasGap%d", num_gap + 1 );
pv->SetName( gasgap_name.c_str() );
pv.addPhysVolID( "GasGap", num_gap );
deGasGap = dd4hep::DetElement( deChamber, Form( "GasGap%d", num_gap + 1 ), num_gap + 1 );
dd4hep::DetElement deGasGap = dd4hep::DetElement( deChamber, Form( "GasGap%d", num_gap + 1 ), num_gap + 1 );
deGasGap.setPlacement( pv );
//
deSensitiveGasGap = DetElement( deGasGap, "GasGapLayer", 1 );
dd4hep::DetElement deSensitiveGasGap = dd4hep::DetElement( deGasGap, "GasGapLayer", 1 );
deSensitiveGasGap.setPlacement( pvGasGap );
pvGasGap.addPhysVolID( "GasGapLayer", 1 );
}
@@ -1112,11 +1116,11 @@ namespace {
// define the Station Volume
// std::cout << "Station M" << stationNumber << std::endl;
dd4hep::Box stationBox( Form( "MUON:M%01dXOuterSize", stationNumber ) ,
Form( "MUON:M%01dYOuterSize", stationNumber ) ,
dd4hep::Box stationBox( Form( "MUON:M%01dXOuterSize", stationNumber ),
Form( "MUON:M%01dYOuterSize", stationNumber ),
Form( "MUON:M%01dZOuterSize", stationNumber ) );
// dd4hep::Volume lvStation( Form( "M%01d", stationNumber ), stationBox, description.air() );
dd4hep::Assembly lvStation(Form( "M%01d", stationNumber ));
// dd4hep::Volume lvStation( Form( "M%01d", stationNumber ), stationBox, description.air() );
dd4hep::Assembly lvStation( Form( "M%01d", stationNumber ) );
lvStation.setVisAttributes( description, "Muon:StationVis" );
deStation = dd4hep::DetElement( detector, Form( "M%01dStation", stationNumber ), stationNumber - 2 );
Loading