From 2f2c5497702bb5df7cde7dd2f6bdd91a50b290b8 Mon Sep 17 00:00:00 2001 From: zhang <zhang@9a6e40ed-f3a0-4838-9b4a-bf418f78e88d> Date: Thu, 24 Feb 2011 11:21:03 +0000 Subject: [PATCH] 24/02/2011 1) In Printlatt( ),user can define the file name to save twiss parameters. --- tracy/tools/soltracy.cc | 17 ++++++++++++----- tracy/tracy/src/soleilcommon.cc | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tracy/tools/soltracy.cc b/tracy/tools/soltracy.cc index 892de98..9dd1ba6 100644 --- a/tracy/tools/soltracy.cc +++ b/tracy/tools/soltracy.cc @@ -80,8 +80,15 @@ int main(int argc, char *argv[]) { //assign user defined command strcpy(CommandStr,UserCommand[i]); + //print the twiss paramters in a file defined by the name + if(strcmp(CommandStr,"PrintTwissFlag") == 0) { + cout << "\n"; + cout << "print the twiss parameters to file: "<< twiss_file << "\n"; + printlatt(twiss_file); + } + //turn on flag for quadrupole fringe field - if(strcmp(CommandStr,"QuadFringeOnFlag") == 0) { + else if(strcmp(CommandStr,"QuadFringeOnFlag") == 0) { globval.quad_fringe = true; cout << "\n"; cout << "globval.quad_fringe is " << globval.quad_fringe << "\n"; @@ -222,7 +229,7 @@ int main(int argc, char *argv[]) { // if (CouplingFlag == true) { else if(strcmp(CommandStr,"CouplingFlag") == 0) { Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ - printlatt(); /* dump linear lattice functions into "linlat.dat" */ + printlatt("linlat_coupling.out"); /* dump linear lattice functions into "linlat.dat" */ // GetEmittance(ElemIndex("cav"), true); //only for test Coupling_Edwards_Teng(); Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ @@ -236,7 +243,7 @@ int main(int argc, char *argv[]) { SetErr(err_seed, err_rms); prtmfile("flat_file_errcoupling_full.dat"); //print the elements with rotation errors Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ - printlatt(); /* dump linear lattice functions into "linlat.dat" */ + printlatt("linlat_errcoupling.out"); /* dump linear lattice functions into "linlat.dat" */ Coupling_Edwards_Teng(); // GetEmittance(ElemIndex("cav"), true); //only for test Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ @@ -251,7 +258,7 @@ int main(int argc, char *argv[]) { SetErr2(err_seed, err_rms); prtmfile("flat_file_errcoupling_half.dat"); //print the elements with rotation errors Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ - printlatt(); /* dump linear lattice functions into "linlat.dat" */ + printlatt("linlat_errcoupling2.out"); /* dump linear lattice functions into "linlat.dat" */ Coupling_Edwards_Teng(); // GetEmittance(ElemIndex("cav"), true); Ring_GetTwiss(chroma = true, 0.0); /* Compute and get Twiss parameters */ @@ -376,7 +383,7 @@ int main(int argc, char *argv[]) { for (int ii = 0; ii <= 40; ii++) { dP = -0.02 + 0.001 * ii; Ring_GetTwiss(chroma = false, dP); /* Compute and get Twiss parameters */ - printlatt(); /* dump linear lattice functions into "linlat.dat" */ + printlatt("linlat_eta.out"); /* dump linear lattice functions into "linlat.dat" */ getcod(dP, lastpos); // printcod(); prt_cod("cod.out", globval.bpm, true); diff --git a/tracy/tracy/src/soleilcommon.cc b/tracy/tracy/src/soleilcommon.cc index 781f240..1701f0f 100644 --- a/tracy/tracy/src/soleilcommon.cc +++ b/tracy/tracy/src/soleilcommon.cc @@ -217,7 +217,7 @@ void Read_Lattice(char *fic) } } /* SOLEIL print out lattice functions, with all the optical information for the lattice with design values */ - printlatt(); + printlatt("linlat.out"); printglob(); } -- GitLab