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 
11 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
13 {
14 }
15 
16 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
18 
19  if( coord == "X" ) {
20  return setAngleX( val );
21  }else if( coord == "Y" ) {
22  return setAngleY( val );
23  }else if( coord == "Z" ) {
24  return setAngleZ( val );
25  }else {
26  std::cerr << "!!! FATAL ERROR ALIRmDataFromFile::setAngle. Coordinate must be X, Y or Z, it ii " << coord << std::endl;
28  }
29  return false;
30 }
31 
32 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
34 {
35  theAngleX = val;
36  theDataFilled += "X";
37  return true;
38 }
39 
40 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
42 {
43  theAngleY = val;
44  theDataFilled += "Y";
45  return true;
46 }
47 
48 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
50 {
51  theAngleZ = val;
52  theDataFilled += "Z";
53  return true;
54 }
55 
56 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
58 {
59  if( theDataFilled.find("X") == std::string::npos || theDataFilled.find("Y") == std::string::npos || theDataFilled.find("Z") == std::string::npos ){
60  std::cerr << "!!! ALIRmDataFromFile::constructRm. FATAL ERROR: building rm while one angle is missing: " << theDataFilled << std::endl;
61  } else {
62  theRm = CLHEP::HepRotation();
63  theRm.rotateX( theAngleX );
64  theRm.rotateY( theAngleY );
65  theRm.rotateZ( theAngleZ );
66  }
67 
68 }
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