Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _OptOCOPS_hh
00011 #define _OptOCOPS_hh
00012
00013 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h"
00014 #include "Alignment/CocoaModel/interface/OpticalObject.h"
00015 class Measurement;
00016 class LightRay;
00017 #include "Alignment/CocoaModel/interface/ALILine.h"
00018 class DeviationsFromFileSensor2D;
00019
00020 class OptOCOPS: public OpticalObject
00021 {
00022
00023 public:
00024
00025 OptOCOPS(){ };
00026 OptOCOPS(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data) :
00027 OpticalObject( parent, type, name, copy_data), fdevi_from_file(0){ };
00028 ~OptOCOPS(){ };
00029
00030
00031 virtual void defaultBehaviour( LightRay& lightray, Measurement& meas );
00032
00033 virtual void makeMeasurement( LightRay& lightray, Measurement& meas );
00034
00035 virtual void fastTraversesLightRay( LightRay& lightray );
00036
00037
00038 ALIdouble* convertPointToLocalCoordinates( const CLHEP::Hep3Vector& point);
00039
00040 #ifdef COCOA_VIS
00041 virtual void fillVRML();
00042 virtual void fillIguana();
00043 #endif
00044 void constructSolidShape();
00045
00046 private:
00047 ALIdouble getMeasFromInters( ALILine& line_xhair, ALILine& ccd, CLHEP::Hep3Vector& cops_line );
00048
00049 DeviationsFromFileSensor2D* deviFromFile;
00050 ALIbool fdevi_from_file;
00051 ALILine ccds[4];
00052 };
00053
00054 #endif