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