CMS 3D CMS Logo

EntryLengthAffCentre.cc
Go to the documentation of this file.
1 // COCOA class implementation file
2 //Id: EntryLengthAffCentre.C
3 //CAT: Model
4 //
5 // History: v1.0
6 // Pedro Arce
7 
11 
12 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14 
15 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
17  ALIstring nn = "Centre ";
18  nn += name;
19  setName(nn);
20 }
21 
22 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
23 //@@
24 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
26  if (ALIUtils::debug >= 9)
27  std::cout << "EntryLengthAffCentre::Displace" << disp << std::endl;
28  ALIint namelength = name().length() - 1;
29  XYZcoor axisNo = XCoor;
30  if (name_[namelength] == 'X') {
31  axisNo = XCoor;
32  } else if (name_[namelength] == 'Y') {
33  axisNo = YCoor;
34  } else if (name_[namelength] == 'Z') {
35  axisNo = ZCoor;
36  }
37  OptOCurrent()->displaceCentreGlob(axisNo, disp);
38 }
39 
40 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
42  if (ALIUtils::debug >= 9)
43  std::cout << "EntryLengthAffCentre::DisplaceOriginal" << disp << std::endl;
44  ALIint namelength = name().length() - 1;
45  if (name_[namelength] == 'X') {
47  } else if (name_[namelength] == 'Y') {
49  } else if (name_[namelength] == 'Z') {
51  }
52 }
53 
54 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
56  if (ALIUtils::debug >= 9)
57  std::cout << "EntryLengthAffCentre::DisplaceOriginalOriginal" << disp << std::endl;
58  ALIint namelength = name().length() - 1;
59  if (name_[namelength] == 'X') {
61  } else if (name_[namelength] == 'Y') {
63  } else if (name_[namelength] == 'Z') {
65  }
66 }
67 
68 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
70  ALIdouble a = 2.;
71 
72  return a;
73 }
74 
75 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
77  ALIdouble vdisp = 0.;
78 
79  CLHEP::Hep3Vector cdisp = OptOCurrent()->centreGlob() - OptOCurrent()->centreGlobOriginal();
80  CLHEP::HepRotation rmParentInv = inverseOf(OptOCurrent()->parent()->rmGlob());
81  cdisp = rmParentInv * cdisp;
82 
83  if (name() == "centre_X") {
84  return cdisp.x();
85  } else if (name() == "centre_Y") {
86  return cdisp.y();
87  //- return OptOCurrent()->centreLocal().y() - value();
88  } else if (name() == "centre_Z") {
89  return cdisp.z();
90  }
91 
92  if (ALIUtils::debug >= 5)
93  std::cout << name() << " in OptO " << OptOCurrent()->name() << " valueDisplaced: " << vdisp << std::endl;
94 
95  return 0.; // to avoid warning
96 }
ALIdouble valueInGlobalReferenceFrame() const override
const CLHEP::Hep3Vector & centreGlob() const
Definition: OpticalObject.h:75
long double ALIdouble
Definition: CocoaGlobals.h:11
const ALIstring & name() const
Definition: Entry.h:50
virtual void FillName(const ALIstring &name)
void displaceOriginalOriginal(ALIdouble disp) override
void displaceOriginal(ALIdouble disp) override
void displaceCentreGlobOriginal(const XYZcoor coor, const ALIdouble disp)
const CLHEP::Hep3Vector & centreGlobOriginal() const
Definition: OpticalObject.h:81
int ALIint
Definition: CocoaGlobals.h:15
void setName(const ALIstring &name)
Definition: Entry.h:76
static ALIint debug
Definition: ALIUtils.h:34
void displaceCentreGlobOriginalOriginal(const XYZcoor coor, const ALIdouble disp)
const ALIstring & name() const
Definition: OpticalObject.h:58
OpticalObject * OptOCurrent() const
Definition: Entry.h:59
XYZcoor
Definition: OpticalObject.h:33
void displaceCentreGlob(const XYZcoor coor, const ALIdouble disp)
ALIstring name_
Definition: Entry.h:102
EntryLengthAffCentre(const ALIstring &type)
double a
Definition: hdecay.h:121
void displace(ALIdouble disp) override
std::string ALIstring
Definition: CocoaGlobals.h:9
ALIdouble valueDisplaced() const override