CMS 3D CMS Logo

MuonNumberingInitialization.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: MuonNumberingInitialization
4 // Class: MuonNumberingInitialization
5 //
13 //
14 // Original Author: Michael Case
15 // Created: Thu Sep 28 16:40:29 PDT 2006
16 //
17 //
18 
19 #include <memory>
20 
25 
31 
33 {
34 public:
35 
38 
39  typedef std::unique_ptr<MuonDDDConstants> ReturnType;
40 
41  ReturnType produce( const MuonNumberingRecord& );
42 
44 
45 private:
46 
49 };
50 
52  : muonDDDConst_( 0 )
53 {
55 }
56 
58 {}
59 
62 {
63  if ( muonDDDConst_ == 0 )
64  {
65  edm::LogError( "MuonNumberingInitialization" ) << "MuonNumberingInitialization::produceMuonDDDConstants has NOT been initialized!";
66  throw;
67  }
68  return std::auto_ptr<MuonDDDConstants> ( muonDDDConst_ ) ;
69 }
70 
71 void
73 {
75  igr.get( label_, pDD );
76 
77  if( muonDDDConst_ != 0 ) {
78  delete muonDDDConst_;
79  }
80 
81  muonDDDConst_ = new MuonDDDConstants( *pDD );
82 }
83 
depends_on::OneHolder< T, TDependsOnRecord > dependsOn(void(T::*iT)(const TDependsOnRecord &))
std::unique_ptr< MuonDDDConstants > ReturnType
MuonNumberingInitialization(const edm::ParameterSet &)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
void get(HolderT &iHolder) const
void initializeMuonDDDConstants(const IdealGeometryRecord &igr)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
ReturnType produce(const MuonNumberingRecord &)