OMSim
Geant4 for IceCube optical module studies
OMSimMDOMFlasher.hh
Go to the documentation of this file.
1 
13 #pragma once
14 
16 #include <G4UnionSolid.hh>
17 #include <G4Navigator.hh>
18 
19 class mDOM;
20 
21 
27 {
28  CLHEP::HepRotation rotation;
29  G4double x;
30  G4double y;
31  G4double z;
32 };
33 
45 {
46 public:
47  mDOMFlasher();
48  void construction();
49  std::tuple<G4UnionSolid *, G4UnionSolid *, G4Tubs *> getSolids();
50  void runBeamOnFlasher(mDOM *pMDOMInstance, G4int pModuleIndex, G4int pLEDIndex);
51 
52 
53 private:
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