Ignore:
Timestamp:
Jun 10, 2013, 4:52:52 PM (11 years ago)
Author:
lemeur
Message:

mise a jour des manipulations de faisceau

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/sources/controler/include/particleBeam.h

    r414 r417  
    2020  double P0Transport_;
    2121
    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)
    2834  // gamma.betay
    2935  // gamma.betaz
    30   vector<bareParticle> goodPartic_;
    3136
    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
    3541  bareParticle referenceParticle_;
    3642 
     
    94100 }
    95101
     102
    96103 public:
    97104
     
    112119  vector<bareParticle>& getParticleVector();
    113120  double getXmaxRms();
    114   void getVariance(double& varx, double& vary, double& varz) const;
     121  //  void getVariance(double& varx, double& vary, double& varz) const;
    115122  void set2Moments(beam2Moments& moments);
    116123  void setWithParticles(vector<double>& centroid, bareParticle& referencePart, vector<bareParticle>& particles);
    117124  void printAllXYZ() const;
    118   void Zrange(double& zmin, double& zmax) const;
     125  void ZrangeCdt(double& zmin, double& zmax) const; // extension en phase (cm)
    119126  void donneesDessinEllipse(vector<double>& xcor, vector<double>& ycor, vector<string>& legende, string namex, string namey);
    120127  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;
    122139  virtual bool FileInput(ifstream& ifs);
    123140
Note: See TracChangeset for help on using the changeset viewer.