CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LaserAlignmentSimulation.h
Go to the documentation of this file.
1 #ifndef LaserAlignmentSimulation_LaserAlignmentSimulation_H
2 #define LaserAlignmentSimulation_LaserAlignmentSimulation_H
3 
14 
16 
17 // own classes
21 
22 #include <iostream>
23 #include <map>
24 
25 // Geant4 includes
26 
27 class BeginOfRun;
28 class EndOfRun;
29 class BeginOfEvent;
30 class EndOfEvent;
31 class BeginOfTrack;
32 class EndOfTrack;
33 class G4Step;
34 
35 class G4Timer;
36 
37 class EventAction;
38 class RunAction;
39 class SteppingAction;
40 class TrackingAction;
41 
42 class LaserAlignmentSimulation : public Observer<const BeginOfRun *>,
43  public Observer<const BeginOfEvent *>,
44  public Observer<const G4Step *>,
45  public Observer<const EndOfEvent *>,
46  public Observer<const EndOfRun *>,
47  public Observer<const BeginOfTrack *>,
48  public Observer<const EndOfTrack *>,
49  public SimWatcher {
50 public:
52  explicit LaserAlignmentSimulation(edm::ParameterSet const &theConf);
54  ~LaserAlignmentSimulation() override;
55 
56  /* private: */
58  void update(const BeginOfRun *myRun) override;
60  void update(const BeginOfEvent *myEvent) override;
62  void update(const G4Step *myStep) override;
64  void update(const EndOfEvent *myEvent) override;
66  void update(const EndOfRun *myRun) override;
68  void update(const BeginOfTrack *myTrack) override;
70  void update(const EndOfTrack *myTrack) override;
71 
72 private:
77 
78 private:
79  G4Timer *theTimer;
83 
86 
88  /* TrackerG4SimHitNumberingScheme theNumberingScheme; */
89 };
90 
91 #endif
~LaserAlignmentSimulation() override
destructor
LaserAlignmentSimulation(edm::ParameterSet const &theConf)
constructor
LaserPrimaryGeneratorAction * thePrimaryGenerator
MaterialProperties * theMaterialProperties
LaserSteppingAction * theSteppingAction
void update(const BeginOfRun *myRun) override
observer for BeginOfRun