1 #ifndef GEAR_GearMgrImpl_H
2 #define GEAR_GearMgrImpl_H 1
7 #include "gear/GearMgr.h"
8 #include "gear/GearParameters.h"
9 #include "gear/TPCParameters.h"
10 #include "gear/SimpleMaterial.h"
11 #include "gearsurf/MeasurementSurfaceStore.h"
25 typedef std::map< std::string , GearParameters* > ParameterMap ;
339 ParameterMap _map{} ;
340 TPCParameters* _tpcParameters = nullptr ;
341 CalorimeterParameters* _ecalBarrelParameters = nullptr ;
342 CalorimeterParameters* _ecalEndcapParameters = nullptr ;
343 CalorimeterParameters* _ecalPlugParameters = nullptr ;
344 CalorimeterParameters* _yokeBarrelParameters = nullptr ;
345 CalorimeterParameters* _yokeEndcapParameters = nullptr ;
346 CalorimeterParameters* _yokePlugParameters = nullptr ;
347 CalorimeterParameters* _hcalBarrelParameters = nullptr ;
348 CalorimeterParameters* _hcalEndcapParameters = nullptr ;
349 CalorimeterParameters* _hcalRingParameters = nullptr ;
350 CalorimeterParameters* _lcalParameters = nullptr ;
351 CalorimeterParameters* _lhcalParameters = nullptr ;
352 CalorimeterParameters* _beamcalParameters = nullptr ;
353 ZPlanarParameters* _vxdParameters = nullptr ;
354 ZPlanarParameters* _sitParameters = nullptr ;
355 ZPlanarParameters* _setParameters = nullptr ;
356 FTDParameters* _ftdParameters;
357 TrackerPlanesParameters* _trackerplanesParameters = nullptr ;
358 SiPlanesParameters* _siplanesParameters = nullptr ;
359 GearPointProperties* _pointProperties = nullptr ;
360 GearDistanceProperties* _distanceProperties = nullptr ;
361 BField* _bField = nullptr ;
362 std::string _detectorName{} ;
364 typedef std::map< std::string,const SimpleMaterial* > MatMap ;
367 MeasurementSurfaceStore* _surfaceStore = nullptr ;
369 mutable StringVec _keys{} ;
371 mutable StringVec _matNames{} ;
virtual void setPointProperties(GearPointProperties *pointProperties)
Set the point properties object.
virtual void setHcalRingParameters(CalorimeterParameters *hcalRingParameters)
Set the HcalRingParameters.
virtual MeasurementSurfaceStore & getMeasurementSurfaceStore() const
Return the MeasurementSurfaceStore.
virtual const std::vector< std::string > & getGearParameterKeys() const
Keys of all GearParameters.
Geometry properties of a vertex detector needed for reconstruction code.
Abstract interface for a class that returns the (material) properties along a given distance between ...
virtual const TPCParameters & getTPCParameters() const
Get the TPCParameters.
virtual void setYokeBarrelParameters(CalorimeterParameters *yokeBarrelParameters)
Set the YokeBarrelParameters.
Proposal for an abstract interface that defines the geometry properties of a TPC like detector needed...
virtual void setHcalEndcapParameters(CalorimeterParameters *hcalEndcapParameters)
Set the HcalEndcapParameters.
virtual void setSITParameters(ZPlanarParameters *sitParameters)
Set the SITParameters.
virtual void setYokePlugParameters(CalorimeterParameters *yokePlugParameters)
Set the YokePlugParameters.
Abstract interface for a simple material description tjhat hold s the following properties: A...
virtual const CalorimeterParameters & getHcalEndcapParameters() const
Get the Hcal endcap parameters.
virtual const ZPlanarParameters & getVXDParameters() const
Get the VXD parameters.
virtual const BField & getBField() const
Get the BField.
virtual const std::vector< std::string > & getMaterialNames() const
Names of registered materials.
Proposal for an abstract interface that defines geometry properties of a typical sampling calorimeter...
virtual const CalorimeterParameters & getYokePlugParameters() const
Get the Yoke plug parameters.
Manager class that returns the Gear classes for the relevant subdetectors.
virtual void setLHcalParameters(CalorimeterParameters *lhcalParameters)
Set the LHcalParameters.
virtual const TrackerPlanesParameters & getTrackerPlanesParameters() const
Get the TrackerPlanes parameters.
virtual const CalorimeterParameters & getBeamCalParameters() const
Get the BeamCal parameters.
virtual void setEcalBarrelParameters(CalorimeterParameters *ecalBarrelParameters)
Set the EcalBarrelParameters.
virtual void setSiPlanesParameters(SiPlanesParameters *siplanesParameters)
Set the SiPlanesParameters.
virtual const GearPointProperties & getPointProperties() const
Get the point properties object.
virtual void setLcalParameters(CalorimeterParameters *lcalParameters)
Set the LcalParameters.
virtual void setEcalPlugParameters(CalorimeterParameters *ecalPlugParameters)
Set the EcalPlugParameters.
virtual void registerSimpleMaterial(const SimpleMaterial *material)
Register the SimpleMaterial with SimpleMaterial::getName() - throws Exception if a material of the gi...
virtual const std::string & getDetectorName() const
The unique detector name - typically the model name used in the simulation program.
virtual void setVXDParameters(ZPlanarParameters *vxdParameters)
Set the VXDParameters.
void cleanup()
function to copy all internal variables, incl.
virtual const FTDParameters & getFTDParameters() const
Get the FTD parameters.
virtual const CalorimeterParameters & getEcalPlugParameters() const
Get the Ecal plug parameters.
virtual const GearDistanceProperties & getDistanceProperties() const
Get the distance properties object.
Abstract interface for a set of parameters that can be used to describe the geometrical properties of...
virtual const CalorimeterParameters & getHcalBarrelParameters() const
Get the Hcal barrel parameters.
virtual const CalorimeterParameters & getHcalRingParameters() const
Get the Hcal ring parameters.
virtual void setGearParameters(const std::string &key, GearParameters *parameters)
Set the GearParameters for the given key - overwrites any existing entries.
virtual const CalorimeterParameters & getLHcalParameters() const
Get the LHcal parameters.
virtual const CalorimeterParameters & getEcalEndcapParameters() const
Get the Ecal endcap parameters.
virtual const SiPlanesParameters & getSiPlanesParameters() const
Get the SiPlanes parameters.
virtual const CalorimeterParameters & getLcalParameters() const
Get the Lcal parameters.
virtual const ZPlanarParameters & getSITParameters() const
Get the SIT parameters.
virtual void setHcalBarrelParameters(CalorimeterParameters *hcalBarrelParameters)
Set the HcalBarrelParameters.
virtual const GearParameters & getGearParameters(const std::string &key) const
Get named parameters for key.
Geometry properties of a FTD detector needed for reconstruction code.
virtual void setSETParameters(ZPlanarParameters *setParameters)
Set the SETParameters.
virtual void setTPCParameters(TPCParameters *tpcParameters)
Set the TPCParameters.
virtual void setEcalEndcapParameters(CalorimeterParameters *ecalEndcapParameters)
Set the EcalEndcapParameters.
virtual void setTrackerPlanesParameters(TrackerPlanesParameters *trackerplanesParameters)
Set the TrackerPlanesParameters.
virtual void setYokeEndcapParameters(CalorimeterParameters *yokeEndcapParameters)
Set the YokeEndcapParameters.
virtual void setFTDParameters(FTDParameters *ftdParameters)
Set the FTDParameters.
virtual const ZPlanarParameters & getSETParameters() const
Get the SET parameters.
virtual const SimpleMaterial & getSimpleMaterial(const std::string name) const
Return the SimpleMaterial for the given name throws UnknownParameterException if no material is unkno...
virtual void setDistanceProperties(GearDistanceProperties *distanceProperties)
Set the distance properties object.
virtual void setBeamCalParameters(CalorimeterParameters *beamcalParameters)
Set the BeamCalParameters.
Abstract interface for a manager class that returns the Gear classes for the relevant subdetectors...
Geometry properties of a pixel beam telescope needed for reconstruction code.
virtual const CalorimeterParameters & getYokeBarrelParameters() const
Get the Yoke barrel parameters.
Geometry properties of a pixel beam telescope needed for reconstruction code.
virtual void setBField(BField *bField)
Set the b field object.
virtual const CalorimeterParameters & getEcalBarrelParameters() const
Get the Ecal barrel parameters.
virtual ~GearMgrImpl()
Destructor.
virtual const CalorimeterParameters & getYokeEndcapParameters() const
Get the Yoke endcap parameters.
Abstract interface for a class that returns the (material) properties of a given point in in world co...
virtual void setDetectorName(const std::string &name)
Set detector name.