File indexing completed on 2024-09-07 04:34:26
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _OptOCOPS_hh
0011 #define _OptOCOPS_hh
0012
0013 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h"
0014 #include "Alignment/CocoaModel/interface/OpticalObject.h"
0015 class Measurement;
0016 class LightRay;
0017 #include "Alignment/CocoaModel/interface/ALILine.h"
0018 class DeviationsFromFileSensor2D;
0019
0020 class OptOCOPS : public OpticalObject {
0021 public:
0022
0023 OptOCOPS() {}
0024 OptOCOPS(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
0025 : OpticalObject(parent, type, name, copy_data), fdevi_from_file(false) {}
0026 ~OptOCOPS() override {}
0027
0028
0029 void defaultBehaviour(LightRay& lightray, Measurement& meas) override;
0030
0031 void makeMeasurement(LightRay& lightray, Measurement& meas) override;
0032
0033 void fastTraversesLightRay(LightRay& lightray) override;
0034
0035
0036 ALIdouble* convertPointToLocalCoordinates(const CLHEP::Hep3Vector& point);
0037
0038 #ifdef COCOA_VIS
0039 virtual void fillVRML();
0040 virtual void fillIguana();
0041 #endif
0042 void constructSolidShape() override;
0043
0044 private:
0045 ALIdouble getMeasFromInters(ALILine& line_xhair, ALILine& ccd, CLHEP::Hep3Vector& cops_line);
0046
0047 DeviationsFromFileSensor2D* deviFromFile;
0048 ALIbool fdevi_from_file;
0049 ALILine ccds[4];
0050 };
0051
0052 #endif