CMS 3D CMS Logo

SurveyPxbDicer.h
Go to the documentation of this file.
1 #ifndef GUARD_surveypxbdicer_h
2 #define GUARD_surveypxbdicer_h
3 
4 #include <vector>
5 #include <functional>
6 #include <utility>
7 #include <fstream>
10 #include "Math/SMatrix.h"
11 #include "Math/SVector.h"
12 #include "CLHEP/Random/RandGauss.h"
13 #include "CLHEP/Random/Random.h"
15 
16 #include <iostream>
17 #include <stdexcept>
18 
22 public:
24  typedef double value_t;
25  typedef std::vector<coord_t> fidpoint_t;
26  typedef unsigned int count_t;
28  typedef std::pair<id_t, id_t> idPair_t;
29 
30  // Constructors
32  // Constructor from VPSet
33  SurveyPxbDicer(const std::vector<edm::ParameterSet> &pars, unsigned int seed);
34 
38  std::string doDice(const fidpoint_t &fidpointvec, const idPair_t &id, const bool rotate = false);
39  void doDice(const fidpoint_t &fidpointvec, const idPair_t &id, std::ofstream &outfile, const bool rotate = false);
40 
41 private:
45  value_t ranGauss(value_t mean, value_t sigma) { return CLHEP::RandGauss::shoot(mean, sigma); };
46 
53 
58  value_t getParByName(const std::string &name, const std::string &par, const std::vector<edm::ParameterSet> &pars);
59 
66  coord_t transform(const coord_t &x, const value_t &a0, const value_t &a1, const value_t &a2, const value_t &a3);
67 
69  struct findParByName {
70  bool operator()(const std::string &name, const edm::ParameterSet &parset) const {
71  return (parset.getParameter<std::string>("name") == name);
72  }
73  };
74 };
75 
76 #endif
value_t mean_scale
Function object for searching for a parameter in the VPSet.
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
value_t sigma_scale
SurveyPxbImage::id_t id_t
coord_t transform(const coord_t &x, const value_t &a0, const value_t &a1, const value_t &a2, const value_t &a3)
std::string doDice(const fidpoint_t &fidpointvec, const idPair_t &id, const bool rotate=false)
std::pair< id_t, id_t > idPair_t
value_t ranGauss(value_t mean, value_t sigma)
unsigned int count_t
static constexpr float a0
bool operator()(const std::string &name, const edm::ParameterSet &parset) const
std::vector< coord_t > fidpoint_t
SurveyPxbImage::coord_t coord_t
unsigned int id_t
value_t getParByName(const std::string &name, const std::string &par, const std::vector< edm::ParameterSet > &pars)
def rotate(angle, cx=0, cy=0)
Definition: svgfig.py:705