diff --git a/tracy/tools/Input_checkcode.prm b/tracy/tools/Input_checkcode.prm index 57671acdb5eb9a0f064eaae34c8daf9192862eed..8196550ee44131de51fa1500826692fcfa18841f 100644 --- a/tracy/tools/Input_checkcode.prm +++ b/tracy/tools/Input_checkcode.prm @@ -157,7 +157,7 @@ in_dir /Users/nadolski/codes/tracy/maille/soleil/ EtaFlag false # calculate phase space - PhaseSpaceFlag false + PhaseSpaceFlag true 0.001 0.0 0.002 0.0 0.0 0.0 100 #******to be obsoleted************************ # Do not REMOVE diff --git a/tracy/tools/soltracy.cc b/tracy/tools/soltracy.cc index f07eed260f0e10e231a2ddb9f636eaf611311a07..2da6525d1263c189e9d8d0d87a8a1ed6e2cd3a28 100644 --- a/tracy/tools/soltracy.cc +++ b/tracy/tools/soltracy.cc @@ -1,3 +1,8 @@ +/* + Current revision $Revision$ + On branch $Name$ + Latest change $Date$ by $Author$ +*/ #define ORDER 1 int no_tps = ORDER; // arbitrary TPSA order is defined locally @@ -345,8 +350,8 @@ int main(int argc, char *argv[]) { if (PhaseSpaceFlag == true) { start = stampstart(); - Phase(0.001, 0, 0.001, 0, 0.001, 0, 1); - printf("the simulation time for phase space in tracy 3 is \n"); + Phase(_Phase_X, _Phase_Px, _Phase_Y, _Phase_Py, _Phase_delta, _Phase_ctau, _Phase_nturn); + printf("the simulatioN time for phase space in tracy 3 is \n"); stop = stampstop(start); } diff --git a/tracy/tools/testtracy.cc b/tracy/tools/testtracy.cc index 9cf76bfd506f835f1824ce8bc590d2c1a8ecd5be..72c74e4df2eee5c8fa275fe69787817f7d69a30b 100644 --- a/tracy/tools/testtracy.cc +++ b/tracy/tools/testtracy.cc @@ -1,3 +1,8 @@ +/* Current revision $Revision$ + On branch $Name$ + Latest change $Date$ by $Author$ +*/ + #define ORDER 1 int no_tps = ORDER; // arbitrary TPSA order is defined locally @@ -7,28 +12,6 @@ extern bool freq_map; #include "tracy_lib.h" -double get_RFVoltage(const int Fnum){ - - double V_RF = 0.0; - bool prt = true; - - V_RF = Cell[Elem_GetPos(Fnum, 1)].Elem.C->Pvolt; //RF voltage in Volts - if (prt) fprintf(stdout, "RF voltage of cavity %s is %f MV \n", - Cell[Elem_GetPos(Fnum, 1)].Elem.PName, V_RF/1e6); - return V_RF; -} - -void set_RFVoltage(const int Fnum, const double V_RF){ - int k, n = 0; - - n = GetnKid(Fnum); - for (k=1; k <=n; k++){ - Cell[Elem_GetPos(Fnum, k)].Elem.C->Pvolt = V_RF; // in Volts - } - fprintf(stdout, "Setting cavity %s to %f MV \n", - Cell[Elem_GetPos(Fnum, 1)].Elem.PName, V_RF/1e6); -}; - void compare_cod(void) { const double dPmin = 1e-10, dPmax = 1e-6; diff --git a/tracy/tracy/inc/read_script.h b/tracy/tracy/inc/read_script.h index 23d6a092226dbae5da209b2e6193ed7268c24df5..a3755e838f0682e24f02d0ec3db20ba607ae340b 100644 --- a/tracy/tracy/inc/read_script.h +++ b/tracy/tracy/inc/read_script.h @@ -32,6 +32,11 @@ extern long _MomentumAccFlag_istart, _MomentumAccFlag_istop, extern double _MomentumAccFlag_deltaminn, _MomentumAccFlag_deltamaxn; extern double _MomentumAccFlag_deltaminp, _MomentumAccFlag_deltamaxp; +/* Phase space */ +extern double _Phase_X, _Phase_Px, _Phase_Y, _Phase_Py, + _Phase_delta, _Phase_ctau; +extern long _Phase_nturn; + extern bool ErrorCouplingFlag ; extern long err_seed; extern double err_rms; extern bool CouplingFlag ; diff --git a/tracy/tracy/src/read_script.cc b/tracy/tracy/src/read_script.cc index 3b3ba6b629860e7cbd412250ba0e415a6f1fe1d0..b87083b7f3e1a02da489ff0c0a0b608cbcc6f37d 100644 --- a/tracy/tracy/src/read_script.cc +++ b/tracy/tracy/src/read_script.cc @@ -62,6 +62,11 @@ long _MomentumAccFlag_istart=1L, _MomentumAccFlag_istop=108L, double _MomentumAccFlag_deltaminn=0.01, _MomentumAccFlag_deltamaxn=0.05; double _MomentumAccFlag_deltaminp=0.01, _MomentumAccFlag_deltamaxp=0.05; +/* Phase space */ +double _Phase_X=0.0, _Phase_Px=0.0, _Phase_Y=0.0, _Phase_Py=0.0, + _Phase_delta=0.0, _Phase_ctau=0.0; +long _Phase_nturn=512L; + bool ReadMultipoleFlag = false; bool MultipoleFlag = false, ThinsextFlag = false; @@ -509,7 +514,11 @@ void read_script(const char *param_file_name, bool rd_lat) } } else if (strcmp("PhaseSpaceFlag", name) == 0){ - sscanf(line, "%*s %s", str); + sscanf(line, "%*s %s %lf %lf %lf %lf %lf %lf %ld", str, + &_Phase_X, &_Phase_Px, + &_Phase_Y, &_Phase_Py, + &_Phase_delta, &_Phase_ctau, + &_Phase_nturn); if(strcmp(str, "true") == 0) PhaseSpaceFlag = true; else if(strcmp(str, "false") == 0) @@ -528,7 +537,8 @@ void read_script(const char *param_file_name, bool rd_lat) else { printf("set boolean flag true or false for TouschekFlag \n" ); exit_(1); - } + } + } else if (strcmp("IBSFlag", name) == 0){ sscanf(line, "%*s %s", str); diff --git a/tracy/tracy/src/soleilcommon.cc b/tracy/tracy/src/soleilcommon.cc index 42614ab5678f2728685f8540ad1d5abeca6609ca..9694cfbd5d3347314f1f6d383dbc95474b71fe7f 100644 --- a/tracy/tracy/src/soleilcommon.cc +++ b/tracy/tracy/src/soleilcommon.cc @@ -1,10 +1,3 @@ -/* - - Transferred from Tracy 2.7 soleilcommon.c and - modified based on Read_Lattice() in Tracy III physlib.cc -*/ - - /*************************************************************************** soleilcommon.c - description ------------------- @@ -12,6 +5,15 @@ copyright : (C) 2003 by nadolski email : nadolski@synchrotron-soleil.fr ***************************************************************************/ +/* + Transferred from Tracy 2.7 soleilcommon.c and + modified based on Read_Lattice() in Tracy III physlib.cc +*/ +/* Current revision $Revision$ + On branch $Name$ + Latest change $Date$ by $Author$ +*/ + /*************************************************************************** * * @@ -80,7 +82,7 @@ void Read_Lattice(char *fic) bool status; bool chroma = true; double dP = 0.0; - const double RFacceptance = 1.0; // maximum exusrtion during tracking + const double RFacceptance = 1.0; // maximum excursion during tracking Vector2 beta, alpha, eta, etap; Vector codvect; @@ -90,7 +92,7 @@ void Read_Lattice(char *fic) strcpy(fic_maille, fic); strcpy(fic_erreur, fic); - /* generation automatique du nom du fichier maille et erreur */ + /* automatic generation of filenames for lattice and error */ strcat(fic_maille, ".lat"); strcat(fic_erreur, ".lax"); @@ -197,7 +199,7 @@ void Read_Lattice(char *fic) globval.pathlength = false; /* Path lengthening computation */ globval.CODimax = 10L; /* maximum number of iterations for COD algo */ globval.dPcommon = 1e-10; /* Common energy step for energy differentiation */ - globval.delta_RF = 0.10; /* 6% + epsilon energy acceptance for SOLEIL */ + globval.delta_RF = RFacceptance; /* 6% + epsilon energy acceptance for SOLEIL */ globval.dPparticle = dP; globval.qt = ElemIndex("qt"); /* get family index of skew quadrupole */ globval.hcorr = ElemIndex("ch"); /* get family index of horizontal corrector */