Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:44:31

0001 //   COCOA class implementation file

0002 //Id:  OptOLens.cc

0003 //CAT: Model

0004 //

0005 //   History: v1.0

0006 //   Pedro Arce

0007 
0008 #include "Alignment/CocoaModel/interface/OptOLens.h"
0009 #include <iostream>
0010 #include <iomanip>
0011 #include <cstdlib>
0012 #include "CLHEP/Units/GlobalSystemOfUnits.h"
0013 #ifdef COCOA_VIS
0014 #include "Alignment/IgCocoaFileWriter/interface/IgCocoaFileMgr.h"
0015 #include "Alignment/CocoaVisMgr/interface/ALIColour.h"
0016 #endif
0017 #include "Alignment/CocoaDDLObjects/interface/CocoaSolidShapeTubs.h"
0018 #include "Alignment/CocoaUtilities/interface/GlobalOptionMgr.h"
0019 
0020 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0021 OptOLens::OptOLens() {
0022   setRmGlobalOriginal(CLHEP::HepRotation());
0023   setRmGlobal(CLHEP::HepRotation());
0024 }
0025 
0026 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0027 void OptOLens::participateInMeasurement(LightRay& lightray, Measurement& meas, const ALIstring& behav) {
0028   std::cerr << "object not implemented yet " << std::endl;
0029   exit(1);
0030 }
0031 
0032 #ifdef COCOA_VIS
0033 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

0034 void OptOLens::fillIguana() {
0035   ALIColour* col = new ALIColour(0.5, 1., 0.5, 0.);
0036   std::vector<ALIdouble> spar;
0037   spar.push_back(1.);
0038   spar.push_back(0.1);
0039   CLHEP::HepRotation rm;
0040   rm.rotateX(90. * deg);
0041   IgCocoaFileMgr::getInstance().addSolid(*this, "CYLINDER", spar, col, CLHEP::Hep3Vector(), rm);
0042 }
0043 #endif
0044 
0045 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

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

0053 }