CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OutputDDToDDL.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 OutputDDToDDL : public edm::one::EDAnalyzer<edm::one::WatchRuns>
24 {
25  public:
26  explicit OutputDDToDDL( 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* xos_;
43 };
44 
void beginRun(edm::Run const &iEvent, edm::EventSetup const &) override
void beginJob() override
Definition: OutputDDToDDL.h:29
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
void addToSpecStore(const DDLogicalPart &lp, std::map< const DDsvalues_type, std::set< const DDPartSelection * >, ddsvaluesCmp > &specStore)
void addToMatStore(const DDMaterial &mat, std::set< DDMaterial > &matStore)
void addToSolStore(const DDSolid &sol, std::set< DDSolid > &solStore, std::set< DDRotation > &rotStore)
A DDSolid represents the shape of a part.
Definition: DDSolid.h:35
int iEvent
Definition: GenABIO.cc:230
std::string fname_
Definition: OutputDDToDDL.h:41
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 endJob() override
Definition: OutputDDToDDL.h:33
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
Definition: OutputDDToDDL.h:31
std::ostream * xos_
Definition: OutputDDToDDL.h:42
void endRun(edm::Run const &iEvent, edm::EventSetup const &) override
Definition: OutputDDToDDL.h:32
OutputDDToDDL(const edm::ParameterSet &iConfig)
Definition: Run.h:43