13 #include "Alignment/IgCocoaFileWriter/interface/IgCocoaFileMgr.h"
14 #include "Alignment/CocoaVisMgr/interface/ALIColour.h"
19 using namespace CLHEP;
28 std::cout <<
"LR: DETAILED REFLECTION IN PLATE SPLITTER " <<
name() << std::endl;
33 ALIPlane plate = getPlate(
true,
true);
37 std::cout <<
"Reflected in plate" << std::endl;
52 std::cout <<
"LR: DETAILED TRAVERSE IN PLATE SPLITTER " <<
name() << std::endl;
55 ALIPlane plate = getPlate(
true,
true);
57 ALIdouble width = findExtraEntryValue(
"width");
60 lightray.
dumpData(
"Traversed with 0 width");
66 ALIdouble refra_ind2 = findExtraEntryValue(
"refra_ind");
67 lightray.
refract(plate, refra_ind1, refra_ind2);
69 lightray.
dumpData(
"Refracted in first plate");
73 plate = getPlate(
false,
true);
75 lightray.
refract(plate, refra_ind2, refra_ind1);
77 lightray.
dumpData(
"Refracted in first plate");
90 std::cout <<
"LR: REFLECTION IN PLATE SPLITTER " <<
name() << std::endl;
93 ALIPlane plate = getPlate(
true,
false);
97 lightray.
dumpData(
"Reflected in plate");
117 std::cout <<
"LR: TRAVERSE PLATE SPLITTER " <<
name() << std::endl;
120 ALIPlane plate = getPlate(
false,
false);
123 lightray.
dumpData(
"Intersected with plate");
128 lightray.
dumpData(
"Shifted and Deviated");
135 ALIColour*
col =
new ALIColour(0., 0., 0., 0.);
137 ALIbool wexists = findExtraEntryValueIfExists(
"width", width);
141 std::vector<ALIdouble> spar;
144 spar.push_back(width);
145 IgCocoaFileMgr::getInstance().addSolid(*
this,
"BOX", spar, col);
156 "Box", go * 5. * cm /
m, go * 5. * cm /
m, go * 1. * cm /
m);
void shiftAndDeviateWhileTraversing(const OpticalObject *opto, char behav)
void refract(const ALIPlane &plate, const ALIdouble refra_ind1, const ALIdouble refra_ind2)
static GlobalOptionMgr * getInstance()
void detailedDeviatesLightRay(LightRay &lightray) override
int getGlobalOptionValue(const ALIstring &sstr, ALIdouble &val)
--— Search a string in theGlobalOptions and return 1 if found
void detailedTraversesLightRay(LightRay &lightray) override
static void dump3v(const CLHEP::Hep3Vector &vec, const std::string &msg)
void intersect(const ALIPlane &plane)
virtual void fillIguana()
void fastTraversesLightRay(LightRay &lightray) override
void dumpData(const ALIstring &str) const
void constructSolidShape() override
void reflect(const ALIPlane &plane)
void fastDeviatesLightRay(LightRay &lightray) override