![]() |
OMSim
Geant4 for IceCube optical module studies
|
Public Member Functions | |
LOM18 (G4bool pPlaceHarness=false) | |
void | construction () |
double | getPressureVesselWeight () |
Virtual method to get the weight of the pressure vessel. | |
int | getNumberOfPMTs () |
Virtual method to get the number of PMTs in the optical module. | |
G4String | getName () |
![]() | |
OMSimOpticalModule (OMSimPMTConstruction *pPMTManager) | |
void | configureSensitiveVolume (OMSimDetectorConstruction *pDetConst) |
OMSimPMTConstruction * | getPMTmanager () |
![]() | |
void | appendComponent (G4VSolid *pSolid, G4LogicalVolume *pLogical, G4ThreeVector pVector, G4RotationMatrix pRotation, G4String pName) |
Append component to Components vector. | |
G4bool | checkIfExists (G4String pName) |
Check if a component with a certain name exists in the Components map. | |
Component | getComponent (G4String pName) |
Retrieves a specified component from the Components map. | |
G4Transform3D | getNewPosition (G4ThreeVector pPosition, G4RotationMatrix pRotation, G4ThreeVector pObjectPosition, G4RotationMatrix pObjectRotation) |
Computes a new position for a sub-component, based on a given global position and rotation. | |
void | integrateDetectorComponent (OMSimDetectorComponent *pToIntegrate, G4ThreeVector pPosition, G4RotationMatrix pRotation, G4String pNameExtension) |
Integrates the components of another OMSimDetectorComponent instance. | |
void | deleteComponent (G4String pName) |
Deletes a specified component from the Components map. | |
void | placeIt (G4ThreeVector pPosition, G4RotationMatrix pRotation, G4LogicalVolume *&pMother, G4String pNameExtension="") |
Placement of the DetectorComponent. Each Component is placed in the same mother. | |
void | placeIt (G4Transform3D pTrans, G4LogicalVolume *&pMother, G4String pNameExtension="") |
Places the components in a specified mother volume using a provided transformation. | |
G4SubtractionSolid * | substractToVolume (G4VSolid *pInputVolume, G4ThreeVector pSubstractionPos, G4RotationMatrix pSubstractionRot, G4String pNewVolumeName) |
Subtracts components from a given solid volume using position and rotation. | |
G4SubtractionSolid * | substractToVolume (G4VSolid *pInputVolume, G4Transform3D pTrans, G4String pNewVolumeName) |
Subtracts components from a given solid volume. | |
Public Attributes | |
G4double | m_cylinderAngle = 1.5*deg |
G4double | m_glassOutRad |
![]() | |
G4int | m_index |
![]() | |
OMSimInputData * | m_data |
Instance of OMSimInputdata, which should be started only once. | |
bool | m_checkOverlaps = true |
std::vector< G4ThreeVector > | m_placedPositions |
store the positions each time the components are placed | |
std::vector< G4RotationMatrix > | m_placedOrientations |
store the orientations each time the components are placed | |
std::vector< G4Transform3D > | m_placedTranslations |
store the translation each time the components are placed | |
std::map< G4String, Component > | m_components |
dictionary with each component | |
std::map< G4String, G4PVPlacement * > | m_lastPhysicals |
dictionary with the (last) G4PVPlacement of each component mComponents produced after calling placeIt | |
Private Member Functions | |
G4Polycone * | createLOM18OuterSolid () |
G4Polycone * | createLOM18InnerSolid () |
void | appendEquatorBand () |
void | placeCADSupportStructure (G4LogicalVolume *lInnerVolumeLogical) |
void | placeCADPenetrator (G4LogicalVolume *lInnerVolumeLogical) |
void | setPMTPositions () |
void | createGelpadLogicalVolumes (G4Polycone *lGelSolid) |
void | placePMTs (G4LogicalVolume *lInnerVolumeLogical) |
void | placeGelpads (G4LogicalVolume *lInnerVolumeLogical) |
Additional Inherited Members | |
![]() | |
OMSimPMTConstruction * | m_managerPMT |
![]() | |
static const G4VisAttributes | m_glassVis = G4VisAttributes(G4Colour(0.7, 0.7, 0.8, 0.25)) |
static const G4VisAttributes | m_gelVis = G4VisAttributes(G4Colour(0.45, 0.5, 0.35, 0.2)) |
static const G4VisAttributes | m_steelVis = G4VisAttributes(G4Colour(0.6, 0.6, 0.7, 1.0)) |
static const G4VisAttributes | m_aluVis = G4VisAttributes(G4Colour(0.8, 0.8, 0.9, 1.0)) |
static const G4VisAttributes | m_whiteVis = G4VisAttributes(G4Colour(1, 1, 1, 1.0)) |
static const G4VisAttributes | m_absorberSemiTransparentVis = G4VisAttributes(G4Colour(0.2, 0.2, 0.2, 0.5)) |
static const G4VisAttributes | m_absorberVis = G4VisAttributes(G4Colour(0.2, 0.2, 0.2, 1.0)) |
static const G4VisAttributes | m_boardVis = G4VisAttributes(G4Colour(0, 1, 0, 1)) |
static const G4VisAttributes | m_blueVis = G4VisAttributes(G4Colour(0, 0, 1, 1)) |
static const G4VisAttributes | m_airVis = G4VisAttributes(G4Colour(0.7, 0.7, 0.8, 0.2)) |
static const G4VisAttributes | m_airVis2 = G4VisAttributes(G4Colour(0.0, 0, 1., 0.5)) |
static const G4VisAttributes | m_redVis = G4VisAttributes(G4Colour(1.0, 0.0, 0.0, 1)) |
static const G4VisAttributes | m_blackVis = G4VisAttributes(G4Colour(0.0, 0.0, 0.0, 1.0)) |
static const G4VisAttributes | m_LEDvis = G4VisAttributes(G4Colour(0.2, 0.6, 0.8, 0.5)) |
static const G4VisAttributes | m_photocathodeVis = G4VisAttributes(G4Colour(1.0, 1.0, 0.0, 0.1)) |
static const G4VisAttributes | m_invisibleVis = G4VisAttributes::GetInvisible() |
|
virtual |
Placement function which appends all components into an OMSimDetectorComponent to be constructed in DetectorConstruction
Implements OMSimDetectorComponent.
|
private |
Creation of LogicalVolume of gel pads
p_gelSolid | Solid inner module volume. IntersectionSolid with PMT cones is filled with gel |
|
private |
Creation of inner module volume based on pressure vessel technical drawing... stolen drom doumeki as of yet
|
private |
Creation of outer module volume based on pressure vessel technical drawing... stolen drom doumeki as of yet
|
inlinevirtual |
Implements OMSimOpticalModule.
|
inlinevirtual |
This method should be overridden in derived classes to provide the number of PMTs in the specific optical module.
Implements OMSimOpticalModule.
|
inlinevirtual |
This method should be overridden in derived classes to provide the weight of the pressure vessel for the specific optical module.
Implements OMSimOpticalModule.
|
private |
Imports inner Penetrator of module from CAD file and places them as an absorber (non optical compenents only since the tesselation is strong!)
|
private |
Imports inner components of module from CAD file and places them as an absorber (non optical compenents only since the tesselation is strong!)
|
private |
Placement of gel pads
p_innerVolumeLogical | LogicalVolume of inner module volume in which the gel pads are placed. |
|
private |
Placement of PMTs
p_innerVolumeLogical | LogicalVolume of inner module volume in which the PMTs are placed. |
|
private |
Saves postition and angles of PMTs into arrays to be used in other functions.