OMSim
Geant4 for IceCube optical module studies
Loading...
Searching...
No Matches
OMSimMDOMFlasher.hh
Go to the documentation of this file.
1
13#pragma once
14
16#include <G4UnionSolid.hh>
17#include <G4Navigator.hh>
18
19class mDOM;
20
21
27{
28 CLHEP::HepRotation rotation;
29 G4double x;
30 G4double y;
31 G4double z;
32};
33
45{
46public:
48 void construction();
49 std::tuple<G4UnionSolid *, G4UnionSolid *, G4Tubs *> getSolids();
50 void runBeamOnFlasher(mDOM *pMDOMInstance, G4int pModuleIndex, G4int pLEDIndex);
51
52
53private:
54 void makeSolids();
55 void makeLogicalVolumes();
56 void readFlasherProfile();
57 GlobalPosition getFlasherPositionInfo(mDOM *pMDOMInstance, G4int pModuleIndex, G4int pLEDIndex);
58 void configureGPS(GlobalPosition flasherInfo);
59
60 G4UnionSolid *m_LEDSolid;
61 G4UnionSolid *m_flasherHoleSolid;
62 G4Tubs *m_glassWindowSolid;
63
64 G4LogicalVolume *m_flasherHoleLogical;
65 G4LogicalVolume *m_glassWindowLogical;
66 G4LogicalVolume *m_LEDLogical;
67 G4bool m_flasherProfileAvailable = false;
68 std::vector<double> m_profileX;
69 std::vector<double> m_profileY;
70};
71
Provides helper base class OMSimDetectorComponent for constructing and managing detector components i...
Abstract base class used for constructing detector components.
Definition OMSimDetectorComponent.hh:26
The mDOMFlasher class represents the 10 flashers in an mDOM optical module.
Definition OMSimMDOMFlasher.hh:45
void runBeamOnFlasher(mDOM *pMDOMInstance, G4int pModuleIndex, G4int pLEDIndex)
run/beamOn the specified flasher.
Definition OMSimMDOMFlasher.cc:90
void configureGPS(GlobalPosition flasherInfo)
Configures the GPS for the flasher simulation.
Definition OMSimMDOMFlasher.cc:166
void readFlasherProfile()
Loads profile of mDOM flasher measured in the lab. See Section 7.3 of C. Lozanos PhD Thesis: https://...
Definition OMSimMDOMFlasher.cc:110
GlobalPosition getFlasherPositionInfo(mDOM *pMDOMInstance, G4int pModuleIndex, G4int pLEDIndex)
Retrieves the global position and orientation of a specific flasher in an mDOM module.
Definition OMSimMDOMFlasher.cc:125
void construction()
Abstract method you have to define in order to make a derived class from OMSimDetectorComponent.
Definition OMSimMDOMFlasher.cc:21
Definition OMSimMDOM.hh:13
Holds the global position and orientation of a flasher.
Definition OMSimMDOMFlasher.hh:27