00001 // $Id: VolumeCheckAlg.h,v 1.5 2006/12/15 16:49:15 cattanem Exp $ 00002 // ============================================================================ 00003 #ifndef DETDESCCHECKS_VOLUMECHECKALG_H 00004 #define DETDESCCHECKS_VOLUMECHECKALG_H 1 00005 // ============================================================================ 00006 // Include files 00007 // ============================================================================ 00008 // from STL 00009 // ============================================================================ 00010 #include <string> 00011 // ============================================================================ 00012 // Math Definitions 00013 // ============================================================================ 00014 #include "GaudiKernel/Point3DTypes.h" 00015 // ============================================================================ 00016 // from GaudiAlg 00017 // ============================================================================ 00018 #include "GaudiAlg/GaudiHistoAlg.h" 00019 // ============================================================================ 00020 class ILVolume ; // DETDESC 00021 // ============================================================================ 00022 00116 class VolumeCheckAlg : public GaudiHistoAlg 00117 { 00118 00120 friend class AlgFactory<VolumeCheckAlg>; 00121 00122 public: 00123 00128 virtual StatusCode initialize () ; 00129 00134 virtual StatusCode execute () ; 00135 00136 protected: 00137 00142 VolumeCheckAlg 00143 ( const std::string& name , 00144 ISvcLocator* svcloc ) ; 00145 00147 virtual ~VolumeCheckAlg(); 00148 00149 private: 00150 00152 VolumeCheckAlg(); 00154 VolumeCheckAlg 00155 ( const VolumeCheckAlg& ); 00157 VolumeCheckAlg& operator= 00158 ( const VolumeCheckAlg& ); 00159 00160 private: 00161 00162 // volume name 00163 std::string m_volumeName ; 00164 // volume itself 00165 const ILVolume* m_volume ; 00166 00167 // volume limits (for assemblies) 00168 double m_minx ; 00169 double m_maxx ; 00170 double m_miny ; 00171 double m_maxy ; 00172 double m_minz ; 00173 double m_maxz ; 00174 00175 // number of shots 00176 int m_shotsSphere ; 00177 int m_shotsXY ; 00178 int m_shotsYZ ; 00179 int m_shotsZX ; 00180 00181 // point of shooting for sphere 00182 std::vector<double> m_vrtx ; 00183 Gaudi::XYZPoint m_vertex ; 00184 00185 }; 00186 // ============================================================================ 00187 00188 // ============================================================================ 00189 // The END 00190 // ============================================================================ 00191 #endif // DETDESCCHECKS_VOLUMECHECKALG_H 00192 // ============================================================================