CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Alignment/CocoaModel/interface/OptOSensor2D.h

Go to the documentation of this file.
00001 //   COCOA class header file
00002 //Id:  OptOSensor2D.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 _OPTOSENSOR2D_HH
00011 #define _OPTOSENSOR2D_HH
00012 
00013 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h"
00014 #include "Alignment/CocoaModel/interface/OpticalObject.h"
00015 class Measurement;
00016 class LightRay;
00017 class DeviationsFromFileSensor2D;
00018 
00019 class OptOSensor2D: public OpticalObject
00020 {
00021 
00022 public:
00023   //---------- Constructors / Destructor
00024   OptOSensor2D(){ };
00025   OptOSensor2D(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data) : 
00026   OpticalObject( parent, type, name, copy_data), fdevi_from_file(0){ };
00027   ~OptOSensor2D(){ };
00028 
00029   //---------- defaultBehaviour: make measurement 
00030   virtual void defaultBehaviour( LightRay& lightray, Measurement& meas );
00031   //---------- Make measurement 
00032   virtual void makeMeasurement( LightRay& lightray, Measurement& meas );
00033   //---------- Fast simulation of the light ray traversing
00034   virtual void fastTraversesLightRay( LightRay& lightray );
00035   //---------- Detailed simulation of the light ray traversing
00036   virtual void detailedTraversesLightRay( LightRay& lightray );
00037 
00038   // Create and fill an extra entry, checking if it has to be read from file
00039   virtual void fillExtraEntry( std::vector<ALIstring>& wordlist );
00040 
00041   // Get intersection in local coordinates
00042   ALIdouble* convertPointToLocalCoordinates( const CLHEP::Hep3Vector& point);
00043 
00044 #ifdef COCOA_VIS
00045   virtual void fillVRML();
00046   virtual void fillIguana();
00047 #endif
00048   void constructSolidShape();
00049 
00050  private:
00051   // Deviation values read from file
00052   DeviationsFromFileSensor2D* deviFromFile;
00053   ALIbool fdevi_from_file;
00054 };
00055 
00056 #endif