Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-10 02:20:14

0001 //   COCOA class implementation file

0002 //Id:  OptOXLaser.cc

0003 //CAT: Model

0004 //

0005 //   History: v1.0

0006 //   Pedro Arce

0007 
0008 #include "Alignment/CocoaModel/interface/OptOXLaser.h"
0009 #include "Alignment/CocoaModel/interface/LightRay.h"
0010 #include "Alignment/CocoaModel/interface/Measurement.h"
0011 #ifdef COCOA_VIS
0012 #include "Alignment/IgCocoaFileWriter/interface/IgCocoaFileMgr.h"
0013 #include "Alignment/CocoaVisMgr/interface/ALIColour.h"
0014 #endif
0015 #include "Alignment/CocoaDDLObjects/interface/CocoaSolidShapeTubs.h"
0016 #include "Alignment/CocoaUtilities/interface/GlobalOptionMgr.h"
0017 
0018 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0019 //@@ default behaviour: create a LightRay object

0020 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0021 void OptOXLaser::defaultBehaviour(LightRay& lightray, Measurement& meas) {
0022   if (ALIUtils::debug >= 3)
0023     std::cout << "create laser lightray " << std::endl;
0024   lightray.startLightRay(this);
0025 }
0026 
0027 #ifdef COCOA_VIS
0028 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0029 void OptOXLaser::fillIguana() {
0030   //-  std::cout << " filling optosensor " << std::endl;

0031   //  IgCocoaFileMgr igcomgr = IgCocoaFileMgr::getInstance();

0032   ALIColour* col = new ALIColour(1., 0., 0., 0.);
0033   std::vector<ALIdouble> spar;
0034   spar.push_back(5.);
0035   spar.push_back(1.);
0036   spar.push_back(2.);
0037   IgCocoaFileMgr::getInstance().addSolid(*this, "BOX", spar, col);
0038   std::vector<ALIdouble> spar2;
0039   spar2.push_back(1.);
0040   spar2.push_back(5.);
0041   spar2.push_back(2.);
0042   IgCocoaFileMgr::getInstance().addSolid(*this, "BOX", spar2, col);
0043 }
0044 #endif
0045 
0046 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0047 void OptOXLaser::constructSolidShape() {
0048   ALIdouble go;
0049   GlobalOptionMgr* gomgr = GlobalOptionMgr::getInstance();
0050   gomgr->getGlobalOptionValue("VisScale", go);
0051 
0052   theSolidShape = new CocoaSolidShapeTubs("Tubs",
0053                                           go * 0. * CLHEP::cm / CLHEP::m,
0054                                           go * 1. * CLHEP::cm / CLHEP::m,
0055                                           go * 5. * CLHEP::cm / CLHEP::m);  //COCOA internal units are meters

0056 }