CMS 3D CMS Logo

FamosManager.h
Go to the documentation of this file.
1 #ifndef FastSimulation_EventProducer_FamosManager_H
2 #define FastSimulation_EventProducer_FamosManager_H
3 
6 #include <string>
7 
8 namespace HepMC {
9  class GenEvent;
10 }
11 
12 namespace edm {
13  class ParameterSet;
14  class EventSetup;
15  class Run;
16  class HepMCProduct;
17 } // namespace edm
18 
19 class FSimEvent;
20 class TrajectoryManager;
21 class PileUpSimulator;
22 class MagneticField;
23 class CalorimetryManager;
25 class TrackerTopology;
26 
27 // using trailing _ for private data members, m_p prefix for PSet variables (MSt)
28 
29 class FamosManager {
30 public:
33 
35  ~FamosManager();
36 
38  void setupGeometryAndField(edm::Run const& run, const edm::EventSetup& es);
39 
41  FSimEvent* simEvent() const { return mySimEvent; }
42 
44  void reconstruct(const HepMC::GenEvent* evt, const TrackerTopology* tTopo, RandomEngineAndDistribution const*);
45 
47  TrajectoryManager* trackerManager() const { return myTrajectoryManager; }
48 
50  CalorimetryManager* calorimetryManager() const { return myCalorimetry; }
51 
52 private:
53  int iEvent;
54  // const HepMC::GenEvent* myGenEvent;
58 
59 private:
61  bool m_Tracking;
64  double weight_;
67 };
68 #endif
bool m_pUseMagneticField
Definition: FamosManager.h:60
double weight_
Definition: FamosManager.h:64
FSimEvent * mySimEvent
Definition: FamosManager.h:55
bool m_Alignment
Definition: FamosManager.h:63
TrajectoryManager * myTrajectoryManager
Definition: FamosManager.h:56
CalorimetryManager * myCalorimetry
Definition: FamosManager.h:57
bool m_Calorimetry
Definition: FamosManager.h:62
CalorimetryManager * calorimetryManager() const
The calorimeter.
Definition: FamosManager.h:50
HLT enums.
TrajectoryManager * trackerManager() const
The tracker.
Definition: FamosManager.h:47
FSimEvent * simEvent() const
The simulated event.
Definition: FamosManager.h:41
Definition: Run.h:45