#ifndef ALIGNMENT_H #define ALIGNMENT_H #include "detector.h" #include "track.h" #include "millepede.h" #include #include #include #include "defs.h" #include #include #include "../../src/TCtrack.h" class Alignment{ std::vector detectors; std::vector tracks_sim; std::vector tracks_real; std::vector hists_det; std::vector hists_det_testX; std::vector hists_det_testY; std::vector profiles_det; std::vector lockedU; std::vector lockedZ; std::vector lockedT; std::vector lockedP; bool alignU_; bool alignZ_; bool alignT_; bool alignP_; /* these 3 arrays are for sending information to millepede and for getting them */ float dergb[NGLB]; //!< vector of global derivatives float derlc[NPARTRCK]; //!< vector of local derivatives float par[NGLB]; //!< vector of parameters std::string infile; std::string outfile; std::string histogramFile; bool simulation; float zero; void generateTracks(int amount, double length=150, double startwidht=2, double startheight=2, double endheight=2, double endwidth=2); void readTracks(std::string tracks); void readDetectors(bool simulation_); Alignment(){} public: Alignment(const Alignment& al){}; Alignment(std::string conffile); ~Alignment(){}; void doFit(); }; #endif