00001 // COCOA class header file 00002 //Id: OptODistancemeter3dim.h 00003 //CAT: Model 00004 // 00005 // Base class to describe Optical Objects of type sensor 2D 00006 // 00007 // History: v1.0 00008 // Pedro Arce 00009 00010 #ifndef _OPTODISTANCEMETER_HH 00011 #define _OPTODISTANCEMETER_HH 00012 00013 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h" 00014 #include "Alignment/CocoaModel/interface/OpticalObject.h" 00015 class Measurement; 00016 class LightRay; 00017 00018 class OptODistancemeter3dim: public OpticalObject 00019 { 00020 00021 public: 00022 //---------- Constructors / Destructor 00023 OptODistancemeter3dim(){ }; 00024 OptODistancemeter3dim(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data) : 00025 OpticalObject( parent, type, name, copy_data){ }; 00026 ~OptODistancemeter3dim(){ }; 00027 00028 //---------- defaultBehaviour: make measurement 00029 virtual void defaultBehaviour( LightRay& lightray, Measurement& meas ); 00030 00031 //---------- Make measurement 00032 virtual void makeMeasurement( LightRay& lightray, Measurement& meas ); 00033 00034 #ifdef COCOA_VIS 00035 virtual void fillVRML(); 00036 virtual void fillIguana(); 00037 #endif 00038 void constructSolidShape(); 00039 00040 }; 00041 00042 #endif 00043