diff --git a/source/geometries/Next100.cc b/source/geometries/Next100.cc index 908c6c1410..5088089902 100644 --- a/source/geometries/Next100.cc +++ b/source/geometries/Next100.cc @@ -239,6 +239,7 @@ namespace nexus { else if ((region == "CENTER") || (region == "ACTIVE") || (region == "CATHODE_RING") || + (region == "CATHODE_SURF") || (region == "BUFFER") || (region == "XENON") || (region == "LIGHT_TUBE") || diff --git a/source/geometries/Next100FieldCage.cc b/source/geometries/Next100FieldCage.cc index 8a9bca8d9f..b33b74b3c6 100644 --- a/source/geometries/Next100FieldCage.cc +++ b/source/geometries/Next100FieldCage.cc @@ -480,6 +480,14 @@ void Next100FieldCage::BuildCathode() GetCoordOrigin().y(), cathode_zpos_)); + // Generate in a small 1 micron thick disk in front of cathode + cathode_surf_gen_ = + new CylinderPointSampler(0.0, cathode_int_diam_/2., + 0.5*micrometer,0., twopi, nullptr, + G4ThreeVector(GetCoordOrigin().x(), + GetCoordOrigin().y(), + cathode_grid_zpos - grid_thickn_ - 0.5*micrometer)); + /// Visibilities G4VisAttributes cathode_col = nexus::DarkGrey(); @@ -1079,6 +1087,7 @@ Next100FieldCage::~Next100FieldCage() delete hdpe_gen_; delete ring_gen_; delete cathode_gen_; + delete cathode_surf_gen_; delete gate_gen_; delete anode_gen_; delete holder_gen_; @@ -1109,6 +1118,10 @@ G4ThreeVector Next100FieldCage::GenerateVertex(const G4String& region) const vertex = cathode_gen_->GenerateVertex(VOLUME); } + else if (region == "CATHODE_SURF"){ + vertex = cathode_surf_gen_->GenerateVertex(VOLUME); + } + else if (region == "BUFFER") { G4VPhysicalVolume *VertexVolume; do { diff --git a/source/geometries/Next100FieldCage.h b/source/geometries/Next100FieldCage.h index f78f13801d..095d26fd29 100644 --- a/source/geometries/Next100FieldCage.h +++ b/source/geometries/Next100FieldCage.h @@ -112,6 +112,7 @@ namespace nexus { CylinderPointSampler* hdpe_gen_; CylinderPointSampler* ring_gen_; CylinderPointSampler* cathode_gen_; + CylinderPointSampler* cathode_surf_gen_; CylinderPointSampler* gate_gen_; CylinderPointSampler* anode_gen_; CylinderPointSampler* holder_gen_; diff --git a/source/geometries/Next100InnerElements.cc b/source/geometries/Next100InnerElements.cc index 78d510c1f7..0ca2e9f315 100644 --- a/source/geometries/Next100InnerElements.cc +++ b/source/geometries/Next100InnerElements.cc @@ -103,6 +103,7 @@ namespace nexus { if ((region == "CENTER") || (region == "ACTIVE") || (region == "CATHODE_RING") || + (region == "CATHODE_SURF") || (region == "BUFFER") || (region == "XENON") || (region == "S2_PMT_LT") ||