Main Page | Class Hierarchy | Class List | File List | Class Members

CalorimeterParametersImpl.h

00001 #ifndef GEAR_CalorimeterParametersImpl_H
00002 #define GEAR_CalorimeterParametersImpl_H 1
00003 
00004 #include <vector>
00005 
00006 #include "gear/CalorimeterParameters.h"
00007 #include "gearimpl/GearParametersImpl.h"
00008 #include "gearimpl/LayerLayoutImpl.h"
00009 
00010 namespace gear {
00011 
00012 class LayerLayoutImpl ;
00013 
00020   class CalorimeterParametersImpl :  public GearParametersImpl,  public CalorimeterParameters {
00021     
00022   public: 
00023 
00026       CalorimeterParametersImpl(double rMin, double zMax, int symOrder=8, double phi0=0.0)  ;
00027 
00028 
00031       CalorimeterParametersImpl(double rMin, double rMax, double zMin, int symOrder=2, double phi0=0.0) ; 
00032 
00033 
00035     virtual ~CalorimeterParametersImpl() { /* nop */; }
00036     
00037     
00039     virtual const LayerLayout & getLayerLayout() const  { return _layout ; }
00040     
00044     virtual int getLayoutType() const { return _type ; }
00045     
00048     virtual const std::vector<double>& getExtent() const ;
00049     
00050 
00057     virtual int getSymmetryOrder() const { return _sym ; }
00058     
00061     virtual double getPhi0() const { return _phi ; }
00062     
00063 
00064     virtual LayerLayoutImpl& layerLayout() { return _layout ; }
00065 
00066   protected:
00067     
00068     int _type ;
00069     int _sym ;
00070     double _phi ;
00071     LayerLayoutImpl _layout ;
00072     mutable std::vector<double> _extent ;
00073     
00074   }; // class
00075 } // namespace gear
00076 #endif /* ifndef GEAR_CalorimeterParametersImpl_H */

Generated on Tue Sep 5 11:36:29 2006 for Gear by doxygen 1.3.5