PageRenderTime 21ms CodeModel.GetById 17ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/DetectorDescription/OfflineDBLoader/bin/stubs/OutputDDToDDL.h

https://github.com/aivanov-cern/cmssw
C Header | 41 lines | 31 code | 9 blank | 1 comment | 0 complexity | 5081ee4898e4a44dd706869ce23d91fb MD5 | raw file
 1#include <FWCore/Framework/interface/EDAnalyzer.h>
 2#include <FWCore/Framework/interface/Event.h>
 3#include <FWCore/Framework/interface/EventSetup.h>
 4#include <FWCore/ParameterSet/interface/ParameterSet.h>
 5#include <DetectorDescription/Core/interface/DDMaterial.h>
 6#include <DetectorDescription/Core/interface/DDSolid.h>
 7#include <DetectorDescription/Core/interface/DDTransform.h>
 8#include <DetectorDescription/Core/interface/DDsvalues.h>
 9#include <DetectorDescription/Core/interface/DDLogicalPart.h>
10
11#include <ostream>
12#include <set>
13
14class DDPartSelection;
15
16/// is sv1 < sv2 
17struct ddsvaluesCmp {
18  bool operator() ( const  DDsvalues_type& sv1, const DDsvalues_type& sv2 );
19};
20
21class OutputDDToDDL : public edm::EDAnalyzer {
22
23 public:
24  explicit OutputDDToDDL( const edm::ParameterSet& iConfig );
25  ~OutputDDToDDL();
26  virtual void beginRun( const edm::Run&, edm::EventSetup const& );
27  virtual void analyze( const edm::Event&, const edm::EventSetup& ){}
28  virtual void endJob() {};
29
30 private:
31  void addToMatStore( const DDMaterial& mat, std::set<DDMaterial> & matStore );
32  void addToSolStore( const DDSolid& sol, std::set<DDSolid> & solStore, std::set<DDRotation>& rotStore );
33  void addToSpecStore( const DDLogicalPart& lp, std::map<DDsvalues_type, std::set<DDPartSelection*>, ddsvaluesCmp > & specStore );
34
35  int rotNumSeed_;
36  std::string fname_;
37  std::ostream* xos_;
38  int specNameCount_;
39
40};
41