Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for concurrent IOVs, Fireworks & FastSimulation #24911

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@ FastSimGeometryESProducer::FastSimGeometryESProducer(const edm::ParameterSet & p

FastSimGeometryESProducer::~FastSimGeometryESProducer() {}

std::shared_ptr<fastsim::Geometry>
FastSimGeometryESProducer::produce(const GeometryRecord & iRecord){
_tracker = std::make_shared<fastsim::Geometry>(theTrackerMaterial);
return _tracker;
std::unique_ptr<fastsim::Geometry>
FastSimGeometryESProducer::produce(const GeometryRecord & iRecord){
return std::make_unique<fastsim::Geometry>(theTrackerMaterial);
}


DEFINE_FWK_EVENTSETUP_MODULE(FastSimGeometryESProducer);
DEFINE_FWK_EVENTSETUP_MODULE(FastSimGeometryESProducer);
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ class FastSimGeometryESProducer: public edm::ESProducer{
public:
FastSimGeometryESProducer(const edm::ParameterSet & p);
~FastSimGeometryESProducer() override;
std::shared_ptr<fastsim::Geometry> produce(const GeometryRecord &);
std::unique_ptr<fastsim::Geometry> produce(const GeometryRecord &);
private:
std::shared_ptr<fastsim::Geometry> _tracker;
edm::ParameterSet theTrackerMaterial;
};

Expand Down
42 changes: 22 additions & 20 deletions Fireworks/Geometry/interface/FWRecoGeometryESProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,43 +27,45 @@ class FWRecoGeometryESProducer : public edm::ESProducer
FWRecoGeometryESProducer( const edm::ParameterSet& );
~FWRecoGeometryESProducer( void ) override;

std::shared_ptr<FWRecoGeometry> produce( const FWRecoGeometryRecord& );
std::unique_ptr<FWRecoGeometry> produce( const FWRecoGeometryRecord& );

private:
FWRecoGeometryESProducer( const FWRecoGeometryESProducer& ) = delete;
const FWRecoGeometryESProducer& operator=( const FWRecoGeometryESProducer& ) = delete;

void addCSCGeometry( void );
void addDTGeometry( void );
void addRPCGeometry( void );
void addGEMGeometry( void );
void addME0Geometry( void );
void addPixelBarrelGeometry( void );
void addPixelForwardGeometry( void );
void addTIBGeometry( void );
void addTOBGeometry( void );
void addTIDGeometry( void );
void addTECGeometry( void );
void addCaloGeometry( void );
void addCSCGeometry( FWRecoGeometry& );
void addDTGeometry( FWRecoGeometry& );
void addRPCGeometry( FWRecoGeometry& );
void addGEMGeometry( FWRecoGeometry& );
void addME0Geometry( FWRecoGeometry& );
void addPixelBarrelGeometry( FWRecoGeometry& );
void addPixelForwardGeometry( FWRecoGeometry& );
void addTIBGeometry( FWRecoGeometry& );
void addTOBGeometry( FWRecoGeometry& );
void addTIDGeometry( FWRecoGeometry& );
void addTECGeometry( FWRecoGeometry& );
void addCaloGeometry( FWRecoGeometry& );

void addFTLGeometry( void );
void addFTLGeometry( FWRecoGeometry& );



void ADD_PIXEL_TOPOLOGY( unsigned int rawid, const GeomDet* detUnit );
void ADD_PIXEL_TOPOLOGY( unsigned int rawid, const GeomDet* detUnit, FWRecoGeometry& );


unsigned int insert_id( unsigned int id );
void fillPoints( unsigned int id, std::vector<GlobalPoint>::const_iterator begin, std::vector<GlobalPoint>::const_iterator end );
void fillShapeAndPlacement( unsigned int id, const GeomDet *det );
void writeTrackerParametersXML();
unsigned int insert_id( unsigned int id, FWRecoGeometry& );
void fillPoints( unsigned int id,
std::vector<GlobalPoint>::const_iterator begin,
std::vector<GlobalPoint>::const_iterator end,
FWRecoGeometry& );
void fillShapeAndPlacement( unsigned int id, const GeomDet *det, FWRecoGeometry& );
void writeTrackerParametersXML(FWRecoGeometry&);

edm::ESHandle<GlobalTrackingGeometry> m_geomRecord;
const CaloGeometry* m_caloGeom;
edm::ESHandle<FastTimeGeometry> m_ftlBarrelGeom,m_ftlEndcapGeom;
std::vector<edm::ESHandle<HGCalGeometry> > m_hgcalGeoms;
const TrackerGeometry* m_trackerGeom;
std::shared_ptr<FWRecoGeometry> m_fwGeometry;

unsigned int m_current;
bool m_tracker;
Expand Down
4 changes: 1 addition & 3 deletions Fireworks/Geometry/interface/FWTGeoRecoGeometryESProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class FWTGeoRecoGeometryESProducer : public edm::ESProducer
FWTGeoRecoGeometryESProducer( const edm::ParameterSet& );
~FWTGeoRecoGeometryESProducer( void ) override;

std::shared_ptr<FWTGeoRecoGeometry> produce( const FWTGeoRecoGeometryRecord& );
std::unique_ptr<FWTGeoRecoGeometry> produce( const FWTGeoRecoGeometryRecord& );

private:
FWTGeoRecoGeometryESProducer( const FWTGeoRecoGeometryESProducer& );
Expand Down Expand Up @@ -81,8 +81,6 @@ class FWTGeoRecoGeometryESProducer : public edm::ESProducer
const TrackerGeometry* m_trackerGeom;
const TrackerTopology* m_trackerTopology;

std::shared_ptr<FWTGeoRecoGeometry> m_fwGeometry;

TGeoMedium* m_dummyMedium;

bool m_tracker;
Expand Down
2 changes: 1 addition & 1 deletion Fireworks/Geometry/interface/TGeoMgrFromDdd.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class TGeoMgrFromDdd : public edm::ESProducer
TGeoMgrFromDdd(const edm::ParameterSet&);
~TGeoMgrFromDdd() override;

typedef std::shared_ptr<TGeoManager> ReturnType;
using ReturnType = std::unique_ptr<TGeoManager>;

// ---------- const member functions ---------------------

Expand Down