CMS 3D CMS Logo

HcalDDDGeometryEP.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: HcalDDDGeometryEP
4 // Class: HcalDDDGeometryEP
5 //
13 //
14 // Original Author: Sunanda Banerjee
15 // Created: Thu Oct 20 11:35:27 CDT 2006
16 //
17 //
18 
22 //#define DebugLog
23 //
24 // constants, enums and typedefs
25 //
26 
27 //
28 // static data member definitions
29 //
30 
31 //
32 // constructors and destructor
33 //
34 
36  m_loader ( 0 ) ,
37  m_applyAlignment(ps.getUntrackedParameter<bool>("applyAlignment", false) ) {
38 
39  //the following line is needed to tell the framework what
40  // data is being produced
41  setWhatProduced( this,
44  "HCAL");
45 }
46 
48  if (m_loader) delete m_loader ;
49 }
50 
51 
52 //
53 // member functions
54 //
55 
56 // ------------ method called to produce the data ------------
59 
60  edm::LogInfo("HCAL") << "Using default HCAL topology" ;
62  iRecord.get( hcons ) ;
63 
65  iRecord.get( topology ) ;
66 
67  assert( 0 == m_loader ) ;
68  m_loader = new HcalDDDGeometryLoader(&(*hcons));
69 #ifdef DebugLog
70  LogDebug("HCalGeom")<<"HcalDDDGeometryEP:Initialize HcalDDDGeometryLoader";
71 #endif
72  ReturnType pC ( m_loader->load(*topology) ) ;
73 
74  return pC;
75 }
76 
79 
80  const HcalRecNumberingRecord& idealRecord = iRecord.getRecord<HcalRecNumberingRecord>();
81  return produceIdeal (idealRecord);
82 }
#define LogDebug(id)
depends_on::OneHolder< T, TDependsOnRecord > dependsOn(void(T::*iT)(const TDependsOnRecord &))
CaloTopology const * topology(0)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition: ESProducer.h:115
ReturnType produceAligned(const HcalGeometryRecord &)
void get(HolderT &iHolder) const
HcalDDDGeometryLoader * m_loader
void idealRecordCallBack(const HcalRecNumberingRecord &)
ReturnType load(const HcalTopology &topo, DetId::Detector, int)
HcalDDDGeometryEP(const edm::ParameterSet &)
std::shared_ptr< CaloSubdetectorGeometry > ReturnType
ReturnType produceIdeal(const HcalRecNumberingRecord &)