1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#ifndef Fireworks_Core_Context_h
#define Fireworks_Core_Context_h
// -*- C++ -*-
//
// Package: Core
// Class : Context
//
/**\class Context Context.h Fireworks/Core/interface/Context.h
Description: Central collection of all framework managers
Usage:
<usage>
*/
//
// Original Author: Chris Jones
// Created: Tue Sep 30 14:21:45 EDT 2008
//
// system include files
// user include files
// forward declarations
class TEveTrackPropagator;
class TEveCaloDataHist;
class TEveCaloDataVec;
class FWModelChangeManager;
class FWSelectionManager;
class FWEventItemsManager;
class FWColorManager;
class FWJobMetadataManager;
class FWMagField;
class FWGeometry;
class FWBeamSpot;
class CmsShowCommon;
namespace fireworks {
class Context {
public:
Context(FWModelChangeManager* iCM,
FWSelectionManager* iSM,
FWEventItemsManager* iEM,
FWColorManager* iColorM,
FWJobMetadataManager* iJMDM);
virtual ~Context();
void setGeom(FWGeometry* x) { m_geom = x; }
// ---------- const member functions ---------------------
FWModelChangeManager* modelChangeManager() const { return m_changeManager; }
FWSelectionManager* selectionManager() const { return m_selectionManager; }
const FWEventItemsManager* eventItemsManager() const { return m_eventItemsManager; }
FWColorManager* colorManager() const { return m_colorManager; }
FWJobMetadataManager* metadataManager() const { return m_metadataManager; }
TEveTrackPropagator* getTrackPropagator() const { return m_propagator; }
TEveTrackPropagator* getTrackerTrackPropagator() const { return m_trackerPropagator; }
TEveTrackPropagator* getMuonTrackPropagator() const { return m_muonPropagator; }
FWMagField* getField() const { return m_magField; }
FWBeamSpot* getBeamSpot() const { return m_beamSpot; }
TEveCaloDataHist* getCaloData() const { return m_caloData; }
TEveCaloDataVec* getCaloDataHF() const { return m_caloDataHF; }
FWGeometry* getGeom() const { return m_geom; }
CmsShowCommon* commonPrefs() const;
float getMaxEnergyInEvent(bool isEt) const;
void voteMaxEtAndEnergy(float Et, float energy) const;
void resetMaxEtAndEnergy() const;
bool getHidePFBuilders() const { return m_hidePFBuilders; }
void setHidePFBuilders(bool x) { m_hidePFBuilders = x; }
// ---------- member functions ---------------------------
void initEveElements();
void deleteEveElements();
// ---------- static member ---------------------------
static Context* getInstance();
static float caloR1(bool offset = true);
static float caloR2(bool offset = true);
static float caloZ1(bool offset = true);
static float caloZ2(bool offset = true);
static float caloTransEta();
static float caloTransAngle();
static double caloMaxEta();
static float mtdEtlR1();
static float mtdEtlR2();
static float mtdEtlZ1(const unsigned int& disk_number = 1);
static float mtdEtlZ2(const unsigned int& disk_number = 1);
Context(const Context&) = delete; // stop default
const Context& operator=(const Context&) = delete; // stop default
private:
// ---------- member data --------------------------------
FWModelChangeManager* m_changeManager;
FWSelectionManager* m_selectionManager;
FWEventItemsManager* m_eventItemsManager;
FWColorManager* m_colorManager;
FWJobMetadataManager* m_metadataManager;
FWGeometry* m_geom;
TEveTrackPropagator* m_propagator;
TEveTrackPropagator* m_trackerPropagator;
TEveTrackPropagator* m_muonPropagator;
FWMagField* m_magField;
FWBeamSpot* m_beamSpot;
CmsShowCommon* m_commonPrefs;
mutable float m_maxEt;
mutable float m_maxEnergy;
mutable bool m_hidePFBuilders;
TEveCaloDataHist* m_caloData;
TEveCaloDataVec* m_caloDataHF;
static Context* s_fwContext;
// calo data
static const float s_caloTransEta;
static const float s_caloTransAngle;
// simplified
static const float s_caloR;
static const float s_caloZ;
// proxy-builder offsets
static const float s_caloOffR;
static const float s_caloOffZ;
// mtd data
static const float s_mtdEtlR1;
static const float s_mtdEtlR2;
static const float s_mtdEtlZ1;
static const float s_mtdEtlZ2;
static const float s_mtdEtlOffZ;
};
} // namespace fireworks
#endif
|