#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 back. It is to be said that the array par isnt used because you can get millepede to write the results to a file This is not yet implemented, but should be only adding another line calling the write part of millepede */ 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