Changeset 417 in PSPA for Interface_Web/trunk/pspaWT/sources/controler/include/particleBeam.h
- Timestamp:
- Jun 10, 2013, 4:52:52 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Interface_Web/trunk/pspaWT/sources/controler/include/particleBeam.h
r414 r417 20 20 double P0Transport_; 21 21 22 // la representation du faisceau de particules sera a preciser ulterieurement 23 // Pour l'instant une particule courante est definie par : 24 // x 25 // y 26 // deltaz = z - z0 (z0 est le z de la particule de reference) 27 // gamma.betax 22 // ce faisceau contient les coordonnees des particules quand elles 23 // passe en un z, qui est celui de la particules de reference ( 24 // (particule donne par l'attribut referenceParticle_ ci-dessous ; 25 // cette particule est abstraite, car elle est dupliquee dans le faisceau 26 // proprement dit, et n'intervient plus, en tant que telle, dans la dynamique) 27 28 // Une particule courante est definie par : 29 // x (cm) 30 // y (cm) 31 // cdeltat = dephasage, donc décalage en z, exprime en c.dt soit, en cm 32 // cdeltat > 0 implique que la particule est en avance sur la particule de ref. 33 // gamma.betax (radians ? a verifier) 28 34 // gamma.betay 29 35 // gamma.betaz 30 vector<bareParticle> goodPartic_;31 36 32 // par ailleurs, la particules de reference est definie par x,y,z,gamma.betax, gamma.betay, gamma.betaz 33 // elle est dupliquee dans le faisceau prorement dit (goodPartic_) avec z = z-z0 et ne doit, par consequent, 34 // pas etre prise en compte dans les calculs de trajectoire. 37 vector<bareParticle> relativePartic_; 38 // La particule de reference (abstraite) est definie par x,y,z,gamma.betax, gamma.betay, gamma.betaz 39 // elle est dupliquee dans le faisceau proprement dit (relativePartic_) avec z = 0; 40 35 41 bareParticle referenceParticle_; 36 42 … … 94 100 } 95 101 102 96 103 public: 97 104 … … 112 119 vector<bareParticle>& getParticleVector(); 113 120 double getXmaxRms(); 114 void getVariance(double& varx, double& vary, double& varz) const;121 // void getVariance(double& varx, double& vary, double& varz) const; 115 122 void set2Moments(beam2Moments& moments); 116 123 void setWithParticles(vector<double>& centroid, bareParticle& referencePart, vector<bareParticle>& particles); 117 124 void printAllXYZ() const; 118 void Zrange (double& zmin, double& zmax) const;125 void ZrangeCdt(double& zmin, double& zmax) const; // extension en phase (cm) 119 126 void donneesDessinEllipse(vector<double>& xcor, vector<double>& ycor, vector<string>& legende, string namex, string namey); 120 127 void particlesPhaseSpaceData(vector<double>& xcor, vector<double>& ycor, vector<string>& legende, string namex, string namey); 121 virtual string FileOutputFlow() const; 128 129 130 // coordonnees d'une particule dans le faisceau deploye ( passage 131 // d'une representation z=cte a une representation t=cte) 132 TRIDVECTOR coordonneesDeployees(unsigned particleIndex, double cdtShift = 0.0); 133 134 inline TRIDVECTOR betaGamma(unsigned particleIndex) { 135 return relativePartic_.at(particleIndex).getBetaGamma(); 136 } 137 138 virtual string fileOutputFlow() const; 122 139 virtual bool FileInput(ifstream& ifs); 123 140
Note: See TracChangeset
for help on using the changeset viewer.