CMS 3D CMS Logo

ALIRmDataFromFile.cc
Go to the documentation of this file.
1 // COCOA class implementation file
2 //Id: ALIRmDataFromFile.cc
3 //CAT: Model
4 //
5 // History: v1.0
6 // Pedro Arce
7 
9 
10 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
12 
13 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15  if (coord == "X") {
16  return setAngleX(val);
17  } else if (coord == "Y") {
18  return setAngleY(val);
19  } else if (coord == "Z") {
20  return setAngleZ(val);
21  } else {
22  std::cerr << "!!! FATAL ERROR ALIRmDataFromFile::setAngle. Coordinate must be X, Y or Z, it ii " << coord
23  << std::endl;
25  }
26  return false;
27 }
28 
29 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
31  theAngleX = val;
32  theDataFilled += "X";
33  return true;
34 }
35 
36 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
38  theAngleY = val;
39  theDataFilled += "Y";
40  return true;
41 }
42 
43 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
45  theAngleZ = val;
46  theDataFilled += "Z";
47  return true;
48 }
49 
50 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
52  if (theDataFilled.find("X") == std::string::npos || theDataFilled.find("Y") == std::string::npos ||
53  theDataFilled.find("Z") == std::string::npos) {
54  std::cerr << "!!! ALIRmDataFromFile::constructRm. FATAL ERROR: building rm while one angle is missing: "
55  << theDataFilled << std::endl;
56  } else {
57  theRm = CLHEP::HepRotation();
58  theRm.rotateX(theAngleX);
59  theRm.rotateY(theAngleY);
60  theRm.rotateZ(theAngleZ);
61  }
62 }
long double ALIdouble
Definition: CocoaGlobals.h:11
CLHEP::HepRotation theRm
ALIbool setAngle(const ALIstring &coord, const ALIdouble val)
ALIbool setAngleX(const ALIdouble val)
ALIbool setAngleZ(const ALIdouble val)
bool ALIbool
Definition: CocoaGlobals.h:19
ALIbool setAngleY(const ALIdouble val)
std::string ALIstring
Definition: CocoaGlobals.h:9