|
| OptOUserDefined () |
|
| OptOUserDefined (OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data) |
|
void | userDefinedBehaviour (LightRay &lightray, Measurement &meas, const ALIstring &behav) override |
|
| ~OptOUserDefined () override |
|
void | addCoordinateEntryToList (Entry *entry) |
|
void | addExtraEntryToList (Entry *entry) |
|
void | addExtraEntryValueOriginalOriginalToList (ALIdouble entry_value) |
|
void | addExtraEntryValueOriginalToList (ALIdouble entry_value) |
|
void | addExtraEntryValueToList (ALIdouble entry_value) |
|
double | addPii (double val) |
|
double | approxTo0 (double val) |
|
CLHEP::HepRotation | buildRmFromEntryValuesOriginalOriginal () |
|
const CLHEP::Hep3Vector & | centreGlob () const |
|
const CLHEP::Hep3Vector & | centreGlobal () const |
|
const CLHEP::Hep3Vector & | centreGlobOriginal () const |
|
const CLHEP::Hep3Vector & | centreGlobOriginalOriginal () const |
|
const CLHEP::Hep3Vector | centreLocal () const |
|
int | checkMatrixEquations (double angleX, double angleY, double angleZ, CLHEP::HepRotation *rot=nullptr) |
|
void | construct () |
|
void | constructFromOptAligInfo (const OpticalAlignInfo &oaInfo) |
|
virtual void | constructMaterial () |
|
virtual void | constructSolidShape () |
|
const std::vector< Entry * > & | CoordinateEntryList () const |
|
void | createComponentOptOsFromOptAlignInfo () |
|
virtual void | defaultBehaviour (LightRay &lightray, Measurement &meas) |
|
virtual void | detailedDeviatesLightRay (LightRay &lightray) |
|
virtual void | detailedTraversesLightRay (LightRay &lightray) |
|
double | diff2pi (double ang1, double ang2) |
|
void | displaceCentreGlob (const XYZcoor coor, const ALIdouble disp) |
|
void | displaceCentreGlob (const CLHEP::Hep3Vector &dispVec) |
|
void | displaceCentreGlobOriginal (const XYZcoor coor, const ALIdouble disp) |
|
void | displaceCentreGlobOriginal (const CLHEP::Hep3Vector &dispVec) |
|
void | displaceCentreGlobOriginalOriginal (const XYZcoor coor, const ALIdouble disp) |
|
void | displaceCentreGlobOriginalOriginal (const CLHEP::Hep3Vector &dispVec) |
|
void | displaceExtraEntry (const ALIuint entryNo, const ALIdouble disp) |
|
void | displaceExtraEntryOriginal (const ALIuint entryNo, const ALIdouble disp) |
|
void | displaceExtraEntryOriginalOriginal (const ALIuint entryNo, const ALIdouble disp) |
|
void | displaceRmGlobAroundGlobal (OpticalObject *opto1stRotated, const XYZcoor coor, const ALIdouble disp) |
|
void | displaceRmGlobAroundLocal (OpticalObject *opto1stRotated, const XYZcoor coor, const ALIdouble disp) |
|
void | displaceRmGlobOriginal (const OpticalObject *opto1stRotated, const XYZcoor coor, const ALIdouble disp) |
|
void | displaceRmGlobOriginalOriginal (const OpticalObject *opto1stRotated, const XYZcoor coor, const ALIdouble disp) |
|
bool | eq2ang (double ang1, double ang2) |
|
const std::vector< Entry * > & | ExtraEntryList () const |
|
const ALIint | extraEntryNo (const ALIstring &entry_name) const |
|
std::vector< ALIdouble > & | ExtraEntryValueList () |
|
const std::vector< ALIdouble > & | ExtraEntryValueOriginalList () |
|
const std::vector< ALIdouble > & | ExtraEntryValueOriginalOriginalList () |
|
virtual void | fastDeviatesLightRay (LightRay &lightray) |
|
virtual void | fastTraversesLightRay (LightRay &lightray) |
|
virtual void | fillIguana () |
|
virtual void | fillVRML () |
|
const ALIdouble | findExtraEntryValue (const ALIstring &eename) const |
|
const ALIbool | findExtraEntryValueIfExists (const ALIstring &eename, ALIdouble &value) const |
|
const ALIdouble | findExtraEntryValueMustExist (const ALIstring &eename) const |
|
const ALIuint | getCmsswID () const |
|
std::vector< ALIstring > | getCoordinateFromOptAlignParam (const OpticalAlignParam &oaParam) |
|
CLHEP::Hep3Vector | getDisplacementInLocalCoordinates (const XYZcoor coor, const ALIdouble disp) |
|
const double | getEntryCentre (const XYZcoor coor) const |
|
const double | getEntryCentre (const ALIstring &coor) const |
|
const double | getEntryRMangle (const XYZcoor coor) const |
|
const double | getEntryRMangle (const ALIstring &coor) const |
|
std::vector< double > | getLocalRotationAngles (const std::vector< Entry *> &entries) const |
|
CocoaMaterialElementary * | getMaterial () const |
|
ALIPlane | getPlate (const ALIbool forwardPlate, const ALIbool applyWedge) |
|
std::vector< double > | getRotationAnglesFromMatrix (CLHEP::HepRotation &rmLocal, const std::vector< Entry *> &entries) const |
|
std::vector< double > | getRotationAnglesInOptOFrame (const OpticalObject *optoAncestor, const std::vector< Entry *> &entries) const |
|
CocoaSolidShape * | getSolidShape () const |
|
CLHEP::Hep3Vector | getZAxis () |
|
const ALIuint | ID () const |
|
const ALIstring | longName () const |
|
virtual void | makeMeasurement (LightRay &lightray, Measurement &meas) |
|
Measurement * | meas () |
|
const ALIstring & | name () const |
|
| OpticalObject () |
|
| OpticalObject (OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data) |
|
const OpticalObject * | parent () const |
|
virtual void | participateInMeasurement (LightRay &lightray, Measurement &meas, const ALIstring &behav) |
|
void | propagateGlobalRMOriginalOriginalChangeToChildren (const CLHEP::HepRotation &rmorioriold, const CLHEP::HepRotation &rmoriorinew) |
|
void | resetGlobalCoordinates () |
|
void | resetOriginalOriginalCoordinates () |
|
const CLHEP::HepRotation & | rmGlob () const |
|
const CLHEP::HepRotation & | rmGlobOriginal () const |
|
const CLHEP::HepRotation & | rmGlobOriginalOriginal () const |
|
const CLHEP::HepRotation | rmLocal () const |
|
void | setCmsswID (ALIuint id) |
|
void | setExtraEntryValue (const ALIuint entryNo, const ALIdouble disp) |
|
void | setGlobalCoordinates () |
|
void | setGlobalRMOriginalOriginal (const CLHEP::HepRotation &rmoriori) |
|
void | setID (ALIuint id) |
|
void | setMeas (Measurement *meas) |
| set current measurement More...
|
|
void | setOriginalEntryValues () |
|
void | setRmGlobal (const CLHEP::HepRotation &rm) |
|
void | setRmGlobalOriginal (const CLHEP::HepRotation &rm) |
|
void | setType (const ALIstring &type) |
|
const ALIstring | shortName () const |
|
const ALIstring & | type () const |
|
virtual | ~OpticalObject () |
|
Definition at line 18 of file OptOUserDefined.h.
Reimplemented from OpticalObject.
Definition at line 24 of file OptOUserDefined.cc.
References OpticalObject::centreGlob(), DMR_cfg::cerr, gather_cfg::cout, ALIUtils::debug, LightRay::direction(), ALIUtils::dump3v(), LightRay::dumpData(), relativeConstraints::empty, beamvalidation::exit(), OpticalObject::ExtraEntryList(), OpticalObject::findExtraEntryValue(), ALIUtils::getFirstTime(), GlobalOptionMgr::getInstance(), OpticalObject::getPlate(), GlobalOptionMgr::GlobalOptions(), LightRay::intersect(), OpticalObject::meas(), OpticalObject::name(), Measurement::name(), LightRay::point(), OpticalObject::rmGlob(), LightRay::setDirection(), and LightRay::setPoint().
26 ALIVisLightPath* vispath = 0;
30 vispath = IgCocoaFileMgr::getInstance().newLightPath(
name());
40 <<
" behaviour ':" << behav <<
"' is not adequate " << std::endl;
41 std::cerr <<
"an OptO has to indicate if detailed simulation traverses (:T) or deviates (:D) or Fast Simulation " 42 "traverses (:FT) or deviates (:FD) or default behaviour () " 46 ALIint behavSize = behav.size();
49 if (behavSize != 2 || behav[0] !=
'D') {
51 <<
" behaviour ':" << behav <<
"' is not adequate " << std::endl;
52 std::cerr <<
"an OptO has to indicate detailed simulation by (:Dn) where n is an integer number " << std::endl;
55 nSet = behav.substr(behavSize - 1, behavSize);
64 CLHEP::Hep3Vector shift3D(shiftX, shiftY, shiftZ);
65 CLHEP::HepRotation rmt =
rmGlob();
66 shift3D = rmt * shift3D;
68 lightray.
dumpData(
"OptOUserDefined: lightray incoming");
82 ALIVRMLMgr::getInstance().addLightPoint(lightray.
point());
87 vispath->addLightPoint(lightray.
point(),
this);
94 lightray.
dumpData(
"OptOUserDefined: lightray after shift");
96 CLHEP::Hep3Vector direc = lightray.
direction();
97 CLHEP::Hep3Vector XAxis(1., 0., 0.);
99 direc.rotate(deviX, XAxis);
101 std::cout <<
"Direction after deviX " << direc << std::endl;
102 std::cout <<
" deviX " << deviX << std::endl;
104 CLHEP::Hep3Vector YAxis(0., 1., 0.);
106 direc.rotate(deviY, YAxis);
109 std::cout <<
"Direction after deviY " << direc << std::endl;
110 std::cout <<
" deviY " << deviY << std::endl;
112 CLHEP::Hep3Vector ZAxis(0., 0., 1.);
114 direc.rotate(deviZ, ZAxis);
117 std::cout <<
"Direction after deviZ " << direc << std::endl;
118 std::cout <<
" deviZ " << deviZ << std::endl;
121 lightray.
dumpData(
"OptOUserDefined: lightray at exiting");
130 ALIVRMLMgr::getInstance().addLightPoint(lightray.
point());
135 vispath->addLightPoint(lightray.
point(),
this);
const ALIdouble findExtraEntryValue(const ALIstring &eename) const
const CLHEP::Hep3Vector & centreGlob() const
const ALIstring & name() const
static GlobalOptionMgr * getInstance()
const std::vector< Entry * > & ExtraEntryList() const
void setDirection(const CLHEP::Hep3Vector &direc)
void setPoint(const CLHEP::Hep3Vector &point)
const CLHEP::Hep3Vector & direction() const
void dumpData(const ALIstring &str) const
const CLHEP::Hep3Vector & point() const
const CLHEP::HepRotation & rmGlob() const
static void dump3v(const CLHEP::Hep3Vector &vec, const std::string &msg)
void intersect(const ALIPlane &plane)
static ALIbool getFirstTime()
std::map< ALIstring, ALIdouble, std::less< ALIstring > > & GlobalOptions()
ALIPlane getPlate(const ALIbool forwardPlate, const ALIbool applyWedge)
const ALIstring & name() const