CMS 3D CMS Logo

OptOLens.cc
Go to the documentation of this file.
1 // COCOA class implementation file
2 //Id: OptOLens.cc
3 //CAT: Model
4 //
5 // History: v1.0
6 // Pedro Arce
7 
9 #include <iostream>
10 #include <iomanip>
11 #include <cstdlib>
12 #include "CLHEP/Units/GlobalSystemOfUnits.h"
13 #ifdef COCOA_VIS
14 #include "Alignment/IgCocoaFileWriter/interface/IgCocoaFileMgr.h"
15 #include "Alignment/CocoaVisMgr/interface/ALIColour.h"
16 #endif
19 
20 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
22  setRmGlobalOriginal(CLHEP::HepRotation());
23  setRmGlobal(CLHEP::HepRotation());
24 }
25 
26 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
27 void OptOLens::participateInMeasurement(LightRay& lightray, Measurement& meas, const ALIstring& behav) {
28  std::cerr << "object not implemented yet " << std::endl;
29  exit(1);
30 }
31 
32 #ifdef COCOA_VIS
33 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
34 void OptOLens::fillIguana() {
35  ALIColour* col = new ALIColour(0.5, 1., 0.5, 0.);
36  std::vector<ALIdouble> spar;
37  spar.push_back(1.);
38  spar.push_back(0.1);
39  CLHEP::HepRotation rm;
40  rm.rotateX(90. * deg);
41  IgCocoaFileMgr::getInstance().addSolid(*this, "CYLINDER", spar, col, CLHEP::Hep3Vector(), rm);
42 }
43 #endif
44 
45 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
47  ALIdouble go;
49  gomgr->getGlobalOptionValue("VisScale", go);
50 
52  "Tubs", go * 0. * cm / m, go * 5. * cm / m, go * 1. * cm / m); //COCOA internal units are meters
53 }
def rm(path, rec=False)
Definition: eostools.py:363
long double ALIdouble
Definition: CocoaGlobals.h:11
void constructSolidShape() override
Definition: OptOLens.cc:46
CocoaSolidShape * theSolidShape
void setRmGlobalOriginal(const CLHEP::HepRotation &rm)
static GlobalOptionMgr * getInstance()
int getGlobalOptionValue(const ALIstring &sstr, ALIdouble &val)
--— Search a string in theGlobalOptions and return 1 if found
OptOLens()
Definition: OptOLens.cc:21
void participateInMeasurement(LightRay &lightray, Measurement &meas, const ALIstring &behav) override
Definition: OptOLens.cc:27
virtual void fillIguana()
Definition: OpticalObject.h:55
std::string ALIstring
Definition: CocoaGlobals.h:9
col
Definition: cuy.py:1009
def exit(msg="")
void setRmGlobal(const CLHEP::HepRotation &rm)