CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/Alignment/CocoaModel/interface/OptOMirror.h

Go to the documentation of this file.
00001 //   COCOA class header file
00002 //Id:  OptOMirror.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 _OPTOMIRROR_HH
00011 #define _OPTOMIRROR_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 OptOMirror: public OpticalObject
00019 {
00020 
00021 public:
00022   //---------- Constructors / Destructor
00023   OptOMirror(){ };
00024   OptOMirror(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data) : 
00025   OpticalObject( parent, type, name, copy_data){ };
00026   ~OptOMirror(){ };
00027 
00028   //---------- Propagate light for measurement meas
00029   //----- Default behaviour: detailed deviation
00030   void defaultBehaviour( LightRay& lightray, Measurement& meas );
00031 
00032   virtual void detailedDeviatesLightRay( LightRay& lightray );
00033  
00034   virtual void fastDeviatesLightRay( LightRay& lightray );
00035 
00036   virtual void detailedTraversesLightRay( LightRay& lightray );
00037 
00038   virtual void fastTraversesLightRay( LightRay& lightray );
00039 
00040 #ifdef COCOA_VIS
00041   virtual void fillIguana();
00042 #endif
00043   void constructSolidShape();
00044 
00045 };
00046 
00047 #endif
00048