CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/Alignment/CocoaModel/src/OptOXLaser.cc

Go to the documentation of this file.
00001 //   COCOA class implementation file
00002 //Id:  OptOXLaser.cc
00003 //CAT: Model
00004 //
00005 //   History: v1.0 
00006 //   Pedro Arce
00007 
00008 #include "Alignment/CocoaModel/interface/OptOXLaser.h"
00009 #include "Alignment/CocoaModel/interface/LightRay.h"
00010 #include "Alignment/CocoaModel/interface/Measurement.h"
00011 #ifdef COCOA_VIS
00012 #include "Alignment/IgCocoaFileWriter/interface/IgCocoaFileMgr.h"
00013 #include "Alignment/CocoaVisMgr/interface/ALIColour.h"
00014 #endif
00015 #include "Alignment/CocoaDDLObjects/interface/CocoaSolidShapeTubs.h"
00016 #include "Alignment/CocoaUtilities/interface/GlobalOptionMgr.h"
00017 
00018 
00019 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00020 //@@ default behaviour: create a LightRay object
00021 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00022 void OptOXLaser::defaultBehaviour( LightRay& lightray, Measurement& meas )
00023 {
00024   if(ALIUtils::debug >= 3) std::cout << "create laser lightray " << std::endl; 
00025   lightray.startLightRay( this );
00026 
00027 }
00028 
00029 #ifdef COCOA_VIS
00030 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00031 void OptOXLaser::fillIguana()
00032 {
00033   //-  std::cout << " filling optosensor " << std::endl;
00034   //  IgCocoaFileMgr igcomgr = IgCocoaFileMgr::getInstance();
00035   ALIColour* col = new ALIColour( 1., 0., 0., 0. );
00036   std::vector<ALIdouble> spar;
00037   spar.push_back(5.);
00038   spar.push_back(1.);
00039   spar.push_back(2.);
00040   IgCocoaFileMgr::getInstance().addSolid( *this, "BOX", spar, col);
00041   std::vector<ALIdouble> spar2;
00042   spar2.push_back(1.);
00043   spar2.push_back(5.);
00044   spar2.push_back(2.);
00045   IgCocoaFileMgr::getInstance().addSolid( *this, "BOX", spar2, col);
00046 }
00047 #endif
00048 
00049 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00050 void OptOXLaser::constructSolidShape()
00051 {
00052   ALIdouble go;
00053   GlobalOptionMgr* gomgr = GlobalOptionMgr::getInstance();
00054   gomgr->getGlobalOptionValue("VisScale", go );
00055 
00056   theSolidShape = new CocoaSolidShapeTubs( "Tubs", go*0.*cm/m, go*1.*cm/m, go*5.*cm/m ); //COCOA internal units are meters
00057 }
00058