Skip to content

Commit

Permalink
cad offset mdom
Browse files Browse the repository at this point in the history
  • Loading branch information
martinunland committed Aug 13, 2024
1 parent e545877 commit 02437fc
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 45 deletions.
10 changes: 8 additions & 2 deletions common/data/PMTs/pmt_Hamamatsu_R15458_CAT.dat
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
{
"jName": "pmt_Hamamatsu_R15458_CAT",
"jFrontalShape": "TwoEllipses",
"jQEfile": "../common/data/PMTs/QE/mDOM_Hamamatsu_R15458_mean_QE.dat",
"jQEMatchingfile": "../common/data/PMTs/QE/mDOM_Hamamatsu_R15458_QE_matching_parameters.dat",
"jResponseData" : "R15458",
"jBulbBackShape": "FullFit",
"jDynodeCADOffset": {
"jValue": 99,
"jDynodeCADZ0": {
"jValue": 54.2,
"jUnit": "mm"
},
"jDynodeCADOffsetFromTip": {
"jValue": 42.5,
"jUnit": "mm"
},
"jDynodeCADscale": {
Expand Down
4 changes: 2 additions & 2 deletions common/data/vis/init_vis.mac
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@
/run/initialize
#
# Visualization setting
#/control/execute ../common/data/vis/vis_raytracer.mac
/control/execute ../common/data/vis/vis.mac
/control/execute ../common/data/vis/vis_raytracer.mac
#/control/execute ../common/data/vis/vis.mac
1 change: 1 addition & 0 deletions common/data/vis/vis.mac
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,5 @@
/vis/viewer/set/background white
/vis/viewer/set/lineSegmentsPerCircle 50


#/vis/viewer/addCutawayPlane 0 0 0 m 0 1 0 /vis/viewer/set/lightsVector 1 1 1
33 changes: 11 additions & 22 deletions common/data/vis/vis_raytracer.mac
Original file line number Diff line number Diff line change
@@ -1,44 +1,33 @@


/vis/open RayTracer 600x600-0+0

/vis/open RayTracerX 600x600-0+0
#/vis/open OGLS 600x600-0+0

/vis/viewer/set/autoRefresh false
/vis/verbose errors

/vis/drawVolume




/vis/geometry/set/visibility World_log 0
/vis/viewer/set/style surface #surface, clouds
/vis/viewer/set/hiddenMarker false
/vis/viewer/set/viewpointThetaPhi 120 150

/vis/viewer/set/autoRefresh true
/vis/verbose warnings

/vis/viewer/set/upVector 0 0 1

/vis/viewer/set/viewpointVector 1 0 0
/vis/viewer/set/lightsVector 1 0 0

/vis/viewer/set/viewpointVector -1 0 0.6
/vis/viewer/set/viewpointVector -1 0.0 0.0
/vis/viewer/set/lightsVector -1 0 0.6

/vis/viewer/set/background white

/vis/set/touchable World_phys 0 PMT_0 0 #use find path
#/vis/set/touchable World_phys 0 PMT_0 0 #use find path
#/vis/touchable/centreAndZoomInOn PMT_0
/vis/viewer/zoom 4.75
/vis/viewer/panTo 10 70 mm
/vis/viewer/zoom 2.75

/vis/rayTracer/lightDirection 0 0 1
/vis/rayTracer/target 0 0 -5 cm
/vis/rayTracer/eyePosition 0 0 0 cm
/vis/rayTracer/column 3158
#/vis/rayTracer/lightDirection 0 0 1
#/vis/rayTracer/target 0 0 0 cm
#/vis/rayTracer/eyePosition 0 0 5 cm
#/vis/rayTracer/column 3158

/vis/rayTracer/row 3158
#/vis/rayTracer/row 3158
#/vis/rayTracer/attenuation 2 mm

/vis/viewer/refresh
2 changes: 1 addition & 1 deletion common/framework/src/OMSim.cc
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ void OMSim::initialiseSimulation(OMSimDetectorConstruction* pDetectorConstructio
mNavigator = std::make_unique<G4Navigator>();

int nThreads = determineNumberOfThreads();

mRunManager->SetStoreTrajectory(true);
mRunManager->SetNumberOfThreads(nThreads);

mRunManager->SetUserInitialization(pDetectorConstruction);
Expand Down
14 changes: 7 additions & 7 deletions common/geometry_construction/src/OMSimPMTConstruction.cc
Original file line number Diff line number Diff line change
Expand Up @@ -356,10 +356,10 @@ void OMSimPMTConstruction::constructCADdynodeSystem(G4LogicalVolume *pMother)
auto lFrontalPlateMesh = CADMesh::TessellatedMesh::FromOBJ("../common/data/CADmeshes/PMT/frontalPlateonly.obj");
auto lDynodesMesh = CADMesh::TessellatedMesh::FromOBJ("../common/data/CADmeshes/PMT/dynodes.obj");

G4double lDynodeOffset = mData->getValueWithUnit(mSelectedPMT, "jDynodeCADOffset");
G4double lDynodeOffset = mData->getValueWithUnit(mSelectedPMT, "jDynodeCADOffsetFromTip");
G4double lDynodeZ0 = mData->getValueWithUnit(mSelectedPMT, "jDynodeCADZ0");
G4double lScale = mData->getValueWithUnit(mSelectedPMT, "jDynodeCADscale");

G4ThreeVector lCADoffset = G4ThreeVector(0, 0, -(lDynodeOffset - getDistancePMTCenterToTip())); // -(54.2 + 19.5));
G4ThreeVector lCADoffset = G4ThreeVector(0, 0, getDistancePMTCenterToTip()-lDynodeZ0-lDynodeOffset);
lSupportStructureMesh->SetOffset(lCADoffset);
lFrontalPlateMesh->SetOffset(lCADoffset);
lDynodesMesh->SetOffset(lCADoffset);
Expand Down Expand Up @@ -533,13 +533,13 @@ G4UnionSolid *OMSimPMTConstruction::doubleEllipsePhotocathode(G4String pSide)
G4double lEllipseZaxis_2 = mData->getValueWithUnit(mSelectedPMT, pSide + ".jEllipseZaxis_2");
G4double lEllipsePos_y_2 = mData->getValueWithUnit(mSelectedPMT, pSide + ".jEllipsePos_y_2");

G4double lEllipseEllipseTransition_y = mData->getValueWithUnit(mSelectedPMT, pSide + ".jEllipsePos_y");
G4double lEllipseEllipseTransition_y = mData->getValueWithUnit(mSelectedPMT, pSide + ".jEllipseEllipseTransition_y");

G4Ellipsoid *lBulbEllipsoid = new G4Ellipsoid("Solid Bulb Ellipsoid", mEllipseXYaxis, mEllipseXYaxis, mEllipseZaxis);
G4Ellipsoid *lBulbEllipsoid_2 = new G4Ellipsoid("Solid Bulb Ellipsoid 2", lEllipseXYaxis_2, lEllipseXYaxis_2, lEllipseZaxis_2);

G4double lExcess = lEllipseZaxis_2 - (lEllipseEllipseTransition_y - lEllipsePos_y_2);
G4Tubs *lSubtractionTube = new G4Tubs("substracion_tube_large_ellipsoid", 0.0, lEllipseXYaxis_2 * 2, lEllipseZaxis_2, 0, 2 * CLHEP::pi);
G4double lExcess = lEllipseZaxis_2 - (lEllipseEllipseTransition_y-lEllipsePos_y_2);
G4Tubs *lSubtractionTube = new G4Tubs("substracion_tube_large_ellipsoid", 0.0, lEllipseXYaxis_2 * 3, lEllipseZaxis_2, 0, 2 * CLHEP::pi);
G4SubtractionSolid *lSubstractedLargeEllipsoid = new G4SubtractionSolid("Substracted Bulb Ellipsoid 2", lBulbEllipsoid_2,
lSubtractionTube, 0, G4ThreeVector(0, 0, -lExcess));
G4UnionSolid *lBulbSolid = new G4UnionSolid("Solid Bulb", lBulbEllipsoid, lSubstractedLargeEllipsoid, 0, G4ThreeVector(0, 0, -mEllipsePos_y + lEllipsePos_y_2));
Expand Down Expand Up @@ -594,7 +594,7 @@ void OMSimPMTConstruction::selectPMT(G4String pPMTtoSelect)
{
if (pPMTtoSelect.substr(0, 6) == "argPMT")
{
const G4String lPMTTypes[] = {"pmt_Hamamatsu_R15458_20nm", "pmt_Hamamatsu_R7081", "pmt_Hamamatsu_4inch", "pmt_Hamamatsu_R5912_20_100"};
const G4String lPMTTypes[] = {"pmt_Hamamatsu_R15458_CAT", "pmt_Hamamatsu_R7081", "pmt_Hamamatsu_4inch", "pmt_Hamamatsu_R5912_20_100"};
pPMTtoSelect = lPMTTypes[OMSimCommandArgsTable::getInstance().get<G4int>("pmt_model")];
}

Expand Down
22 changes: 11 additions & 11 deletions simulations/QE_calibration/OMSim_QE_calibration.cc
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,17 @@ void runXYZfrontalScan()
}
}

lX = Tools::arange(-7, 7, 0.3);

for (const auto &x : lX)
{
for (const auto &y : lX)
{
lScanner->runBeamPicoQuantSetup(x, y);
lAnalysisManager.writeHitPositionHistogram(x, y);
lHitManager.reset();
}
}
// lX = Tools::arange(-7, 7, 0.3);

// for (const auto &x : lX)
// {
// for (const auto &y : lX)
// {
// lScanner->runBeamPicoQuantSetup(x, y);
// lAnalysisManager.writeHitPositionHistogram(x, y);
// lHitManager.reset();
// }
// }
}

void print_result(const std::vector<double> &counts, const std::vector<double> &edges)
Expand Down

0 comments on commit 02437fc

Please sign in to comment.