CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SurveyOutput.cc
Go to the documentation of this file.
1 #include <sstream>
2 
3 #include "TNtuple.h"
4 
6 // #include "Alignment/CommonAlignment/interface/AlignmentParameters.h"
7 
9 
10 SurveyOutput::SurveyOutput(const std::vector<Alignable*>& alignables,
11  const std::string& fileName):
12  theAlignables(alignables),
13  theFile(fileName.c_str(), "RECREATE")
14 {
15 }
16 
17 void SurveyOutput::write(unsigned int iter)
18 {
19  std::ostringstream o;
20 
21  o << 't' << iter;
22 
23  TNtuple* nt = new TNtuple(o.str().c_str(), "", "x:y:z:a:b:g");
24 
25  unsigned int N = theAlignables.size();
26 
27  for (unsigned int i = 0; i < N; ++i)
28  {
29  const Alignable* ali = theAlignables[i];
30 
31  align::GlobalVector shifts = ali->displacement() * 1e4; // cm to um
32 
33  align::EulerAngles angles = align::toAngles( ali->rotation() ) * 1e3; // to mrad
34 
35  nt->Fill( shifts.x(), shifts.y(), shifts.z(),
36  angles(1), angles(2), angles(3) );
37 // const AlgebraicVector& pars = ali->alignmentParameters()->parameters();
38 
39 // nt->Fill(pars[0], pars[1], pars[2], pars[3], pars[4], pars[5]);
40  }
41 
42  theFile.Write();
43 
44  delete nt;
45 }
int i
Definition: DBlmapReader.cc:9
const std::vector< Alignable * > & theAlignables
Definition: SurveyOutput.h:35
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:140
void write(unsigned int iter)
write out variables
Definition: SurveyOutput.cc:17
T y() const
Definition: PV3DBase.h:63
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:143
SurveyOutput(const std::vector< Alignable * > &, const std::string &fileName)
Definition: SurveyOutput.cc:10
T z() const
Definition: PV3DBase.h:64
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:10
int nt
Definition: AMPTWrapper.h:32
AlgebraicVector EulerAngles
Definition: Definitions.h:36
#define N
Definition: blowfish.cc:9
T x() const
Definition: PV3DBase.h:62