GEAR  1.9.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
GearMgr.h
1 // -*- C++ -*-
2 #ifndef GEAR_GEARMGR_H
3 #define GEAR_GEARMGR_H 1
4 
5 #include <string>
6 #include <vector>
7 
8 #include "GEAR.h"
9 #include "gear/GearParameters.h"
10 
11 
12 
13 
14 
15 namespace gear {
16 
17 class BField;
18 class CalorimeterParameters;
19 class GearDistanceProperties;
20 class GearPointProperties;
21 class TrackerPlanesParameters;
22 class SiPlanesParameters;
23 class TPCParameters;
24 class ZPlanarParameters ;
25 class FTDParameters ;
26 class SimpleMaterial ;
27 class MeasurementSurfaceStore;
28 
36  class GearMgr {
37 
38  public:
40  virtual ~GearMgr() { /* nop */; }
41 
44  virtual const std::string & getDetectorName() const = 0;
45 
51  virtual const GearParameters & getGearParameters(const std::string & key) const = 0;
52 
57  virtual const BField & getBField() const = 0;
58 
63  virtual const TPCParameters & getTPCParameters() const = 0;
64 
69  virtual const CalorimeterParameters & getEcalBarrelParameters() const = 0;
70 
75  virtual const CalorimeterParameters & getEcalEndcapParameters() const = 0;
76 
81  virtual const CalorimeterParameters & getEcalPlugParameters() const = 0;
82 
87  virtual const CalorimeterParameters & getYokeBarrelParameters() const = 0;
88 
93  virtual const CalorimeterParameters & getYokeEndcapParameters() const = 0;
94 
99  virtual const CalorimeterParameters & getYokePlugParameters() const = 0;
100 
105  virtual const CalorimeterParameters & getHcalBarrelParameters() const = 0;
106 
111  virtual const CalorimeterParameters & getHcalEndcapParameters() const = 0;
112 
117  virtual const CalorimeterParameters & getHcalRingParameters() const = 0;
118 
123  virtual const CalorimeterParameters & getLcalParameters() const = 0;
124 
129  virtual const CalorimeterParameters & getLHcalParameters() const = 0;
130 
135  virtual const CalorimeterParameters & getBeamCalParameters() const = 0;
136 
141  virtual const ZPlanarParameters & getVXDParameters() const = 0;
142 
147  virtual const FTDParameters & getFTDParameters() const = 0;
148 
153  virtual const ZPlanarParameters & getSITParameters() const = 0;
154 
159  virtual const ZPlanarParameters & getSETParameters() const = 0;
160 
165  virtual const TrackerPlanesParameters & getTrackerPlanesParameters() const = 0;
166 
171  virtual const SiPlanesParameters & getSiPlanesParameters() const = 0;
172 
177  virtual const GearPointProperties & getPointProperties() const = 0;
178 
183  virtual const GearDistanceProperties & getDistanceProperties() const = 0;
184 
187  virtual const std::vector<std::string> & getGearParameterKeys() const = 0;
188 
189 
191  virtual const SimpleMaterial& getSimpleMaterial( const std::string name ) const = 0 ;
192 
195  virtual const std::vector<std::string> & getMaterialNames() const = 0;
196 
200 
201 
204  virtual void setDetectorName(const std::string & name) = 0;
205 
209  virtual void setGearParameters(const std::string & key, GearParameters * gearParameters) = 0;
210 
213  virtual void setBField(BField * bField) = 0;
214 
217  virtual void setTPCParameters(TPCParameters * tpcParameters) = 0;
218 
221  virtual void setEcalBarrelParameters(CalorimeterParameters * ecalBarrelParameters) = 0;
222 
225  virtual void setEcalEndcapParameters(CalorimeterParameters * ecalEndcapParameters) = 0;
226 
229  virtual void setEcalPlugParameters(CalorimeterParameters * ecalPlugParameters) = 0;
230 
233  virtual void setYokeBarrelParameters(CalorimeterParameters * ecalBarrelParameters) = 0;
234 
237  virtual void setYokeEndcapParameters(CalorimeterParameters * ecalEndcapParameters) = 0;
238 
241  virtual void setYokePlugParameters(CalorimeterParameters * ecalPlugParameters) = 0;
242 
245  virtual void setHcalBarrelParameters(CalorimeterParameters * hcalBarrelParameters) = 0;
246 
249  virtual void setHcalEndcapParameters(CalorimeterParameters * hcalEndcapParameters) = 0;
250 
253  virtual void setHcalRingParameters(CalorimeterParameters * hcalRingParameters) = 0;
254 
257  virtual void setVXDParameters(ZPlanarParameters * vxdParameters) = 0;
258 
261  virtual void setFTDParameters(FTDParameters * ftdParameters) = 0;
262 
265  virtual void setSITParameters(ZPlanarParameters * sitParameters) = 0;
266 
269  virtual void setSETParameters(ZPlanarParameters * setParameters) = 0;
270 
273  virtual void setTrackerPlanesParameters(TrackerPlanesParameters * trackerplanesParameters) = 0;
274 
277  virtual void setSiPlanesParameters(SiPlanesParameters * siplanesParameters) = 0;
278 
281  virtual void setLcalParameters(CalorimeterParameters * lcalParameters) = 0;
282 
285  virtual void setLHcalParameters(CalorimeterParameters * lhcalParameters) = 0;
286 
289  virtual void setBeamCalParameters(CalorimeterParameters * beamcalParameters) = 0;
290 
293  virtual void setPointProperties(GearPointProperties * pointProperties) = 0;
294 
297  virtual void setDistanceProperties(GearDistanceProperties * distanceProperties) = 0;
298 
302  virtual void registerSimpleMaterial( const SimpleMaterial* material ) = 0 ;
303 
304 
305  }; // class
306 } // namespace gear
307 #endif /* ifndef GEAR_GEARMGR_H */
virtual void setDistanceProperties(GearDistanceProperties *distanceProperties)=0
Set the distance properties object.
virtual void setEcalEndcapParameters(CalorimeterParameters *ecalEndcapParameters)=0
Set the EcalEndcapParameters.
Geometry properties of a vertex detector needed for reconstruction code.
virtual void setDetectorName(const std::string &name)=0
Set detector name.
Abstract interface for a class that returns the (material) properties along a given distance between ...
virtual const TPCParameters & getTPCParameters() const =0
Get the TPCParameters.
virtual const CalorimeterParameters & getHcalEndcapParameters() const =0
Get the Hcal endcap parameters.
virtual void setBField(BField *bField)=0
Set the BField.
virtual const FTDParameters & getFTDParameters() const =0
Get the FTD parameters.
Proposal for an abstract interface that defines the geometry properties of a TPC like detector needed...
Definition: TPCParameters.h:24
virtual const ZPlanarParameters & getVXDParameters() const =0
Get the VXD parameters.
virtual void setTPCParameters(TPCParameters *tpcParameters)=0
Set the TPCParameters.
virtual void setPointProperties(GearPointProperties *pointProperties)=0
Set the point properties object.
virtual const SiPlanesParameters & getSiPlanesParameters() const =0
Get the SiPlanes parameters.
Abstract interface for a simple material description tjhat hold s the following properties: A...
virtual void setVXDParameters(ZPlanarParameters *vxdParameters)=0
Set the VXDParameters.
virtual void setSETParameters(ZPlanarParameters *setParameters)=0
Set the SETParameters.
virtual ~GearMgr()
Destructor.
Definition: GearMgr.h:40
virtual const GearDistanceProperties & getDistanceProperties() const =0
Get the distance properties object.
Proposal for an abstract interface that defines geometry properties of a typical sampling calorimeter...
virtual const CalorimeterParameters & getBeamCalParameters() const =0
Get the BeamCal parameters.
virtual void setEcalPlugParameters(CalorimeterParameters *ecalPlugParameters)=0
Set the EcalPlugParameters.
virtual const BField & getBField() const =0
Get the B field map.
virtual void setHcalBarrelParameters(CalorimeterParameters *hcalBarrelParameters)=0
Set the HcalBarrelParameters.
virtual const CalorimeterParameters & getYokeBarrelParameters() const =0
Get the Yoke barrel parameters.
virtual void registerSimpleMaterial(const SimpleMaterial *material)=0
Register the SimpleMaterial with SimpleMaterial::getName() - throws Exception if a material of the gi...
virtual void setSiPlanesParameters(SiPlanesParameters *siplanesParameters)=0
Set the SiPlanesParameters.
virtual void setYokeBarrelParameters(CalorimeterParameters *ecalBarrelParameters)=0
Set the YokeBarrelParameters.
virtual const ZPlanarParameters & getSITParameters() const =0
Get the SIT parameters.
virtual void setTrackerPlanesParameters(TrackerPlanesParameters *trackerplanesParameters)=0
Set the TrackerPlanesParameters.
Abstract interface for a set of parameters that can be used to describe the geometrical properties of...
virtual const GearParameters & getGearParameters(const std::string &key) const =0
Get named parameters for key.
virtual const CalorimeterParameters & getLHcalParameters() const =0
Get the LHcal parameters.
virtual void setGearParameters(const std::string &key, GearParameters *gearParameters)=0
Set named parameters for key.
virtual void setBeamCalParameters(CalorimeterParameters *beamcalParameters)=0
Set the BeamCalParameters.
virtual void setFTDParameters(FTDParameters *ftdParameters)=0
Set the FTDParameters.
virtual const SimpleMaterial & getSimpleMaterial(const std::string name) const =0
Return the SimpleMaterial for the given name throws UnknownParameterException if no material is unkno...
virtual MeasurementSurfaceStore & getMeasurementSurfaceStore() const =0
Return the MeasurementSurfaceStore.
virtual void setHcalEndcapParameters(CalorimeterParameters *hcalEndcapParameters)=0
Set the HcalEndcapParameters.
virtual const TrackerPlanesParameters & getTrackerPlanesParameters() const =0
Get the TrackerPlanes parameters.
virtual const std::vector< std::string > & getGearParameterKeys() const =0
Keys of all GearParameters.
virtual const std::vector< std::string > & getMaterialNames() const =0
Names of registered materials.
virtual void setSITParameters(ZPlanarParameters *sitParameters)=0
Set the SITParameters.
virtual const std::string & getDetectorName() const =0
The unique detector name - typically the model name used in the simulation program.
virtual const CalorimeterParameters & getEcalPlugParameters() const =0
Get the Ecal plug parameters.
virtual void setHcalRingParameters(CalorimeterParameters *hcalRingParameters)=0
Set the HcalRingParameters.
Geometry properties of a FTD detector needed for reconstruction code.
Definition: FTDParameters.h:29
virtual const CalorimeterParameters & getEcalBarrelParameters() const =0
Get the Ecal barrel parameters.
virtual const CalorimeterParameters & getYokePlugParameters() const =0
Get the Yoke plug parameters.
virtual const ZPlanarParameters & getSETParameters() const =0
Get the SET parameters.
virtual void setLHcalParameters(CalorimeterParameters *lhcalParameters)=0
Set the LHcalParameters.
virtual void setYokePlugParameters(CalorimeterParameters *ecalPlugParameters)=0
Set the YokePlugParameters.
virtual const CalorimeterParameters & getLcalParameters() const =0
Get the Lcal parameters.
virtual const CalorimeterParameters & getYokeEndcapParameters() const =0
Get the Yoke endcap parameters.
virtual const CalorimeterParameters & getHcalRingParameters() const =0
Get the Hcal ring parameters.
virtual void setYokeEndcapParameters(CalorimeterParameters *ecalEndcapParameters)=0
Set the YokeEndcapParameters.
virtual const CalorimeterParameters & getHcalBarrelParameters() const =0
Get the Hcal barrel parameters.
Abstract interface for a manager class that returns the Gear classes for the relevant subdetectors...
Definition: GearMgr.h:36
virtual const CalorimeterParameters & getEcalEndcapParameters() const =0
Get the Ecal endcap parameters.
virtual void setEcalBarrelParameters(CalorimeterParameters *ecalBarrelParameters)=0
Set the EcalBarrelParameters.
Geometry properties of a pixel beam telescope needed for reconstruction code.
Geometry properties of a pixel beam telescope needed for reconstruction code.
Abstract interface for a class that returns the (material) properties of a given point in in world co...
virtual void setLcalParameters(CalorimeterParameters *lcalParameters)=0
Set the LcalParameters.
Global B field map.
Definition: BField.h:16
virtual const GearPointProperties & getPointProperties() const =0
Get the point properties object.