CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OutputMagneticFieldDDToDDL.h
Go to the documentation of this file.
10 
11 #include <ostream>
12 #include <set>
13 
14 class DDPartSelection;
15 
16 namespace {
18 struct ddsvaluesCmp {
19  bool operator() ( const DDsvalues_type& sv1, const DDsvalues_type& sv2 );
20 };
21 }
22 
23 class OutputMagneticFieldDDToDDL : public edm::one::EDAnalyzer<edm::one::WatchRuns>
24 {
25 public:
26  explicit OutputMagneticFieldDDToDDL( const edm::ParameterSet& iConfig );
28 
29  void beginJob() override {}
30  void beginRun(edm::Run const& iEvent, edm::EventSetup const&) override;
31  void analyze(edm::Event const& iEvent, edm::EventSetup const&) override {}
32  void endRun(edm::Run const& iEvent, edm::EventSetup const&) override {}
33  void endJob() override {}
34 
35 private:
36  void addToMatStore( const DDMaterial& mat, std::set<DDMaterial> & matStore );
37  void addToSolStore( const DDSolid& sol, std::set<DDSolid> & solStore, std::set<DDRotation>& rotStore );
38  void addToSpecStore( const DDLogicalPart& lp, std::map<const DDsvalues_type, std::set<const DDPartSelection*>, ddsvaluesCmp > & specStore );
39 
42  std::ostream* m_xos;
43 };
44 
void addToSpecStore(const DDLogicalPart &lp, std::map< const DDsvalues_type, std::set< const DDPartSelection * >, ddsvaluesCmp > &specStore)
void beginRun(edm::Run const &iEvent, edm::EventSetup const &) override
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
void addToMatStore(const DDMaterial &mat, std::set< DDMaterial > &matStore)
A DDSolid represents the shape of a part.
Definition: DDSolid.h:35
int iEvent
Definition: GenABIO.cc:230
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
Definition: DDsvalues.h:19
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:88
void addToSolStore(const DDSolid &sol, std::set< DDSolid > &solStore, std::set< DDRotation > &rotStore)
OutputMagneticFieldDDToDDL(const edm::ParameterSet &iConfig)
void endRun(edm::Run const &iEvent, edm::EventSetup const &) override
Definition: Run.h:43