File indexing completed on 2023-03-17 10:38:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _OPTOPSEUDOPENTAPRISM_HH
0011 #define _OPTOPSEUDOPENTAPRISM_HH
0012
0013 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h"
0014 #include "Alignment/CocoaModel/interface/OpticalObject.h"
0015 class Measurement;
0016 class LightRay;
0017
0018 class OptOOpticalSquare : public OpticalObject {
0019 public:
0020
0021 OptOOpticalSquare(){};
0022 OptOOpticalSquare(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
0023 : OpticalObject(parent, type, name, copy_data){};
0024 ~OptOOpticalSquare() override{};
0025
0026
0027 void fastDeviatesLightRay(LightRay& lightray) override;
0028
0029 void fastTraversesLightRay(LightRay& lightray) override;
0030
0031 void detailedDeviatesLightRay(LightRay& lightray) override;
0032
0033 void detailedTraversesLightRay(LightRay& lightray) override;
0034
0035 #ifdef COCOA_VIS
0036 virtual void fillIguana();
0037 #endif
0038 void constructSolidShape() override;
0039
0040 private:
0041
0042 void calculateFaces(ALIbool isDetailed);
0043
0044
0045 CLHEP::Hep3Vector faceP[5];
0046 CLHEP::Hep3Vector faceV[5];
0047 };
0048
0049 #endif