Fork me on GitHub

source: svn/trunk/Utilities/Hector/src/H_HorizontalQuadrupole.cc@ 235

Last change on this file since 235 was 3, checked in by Xavier Rouby, 16 years ago

first commit

File size: 1.3 KB
Line 
1/*
2---- Hector the simulator ----
3 A fast simulator of particles through generic beamlines.
4 J. de Favereau, X. Rouby ~~~ hector_devel@cp3.phys.ucl.ac.be
5
6 http://www.fynu.ucl.ac.be/hector.html
7
8 Centre de Physique des Particules et de Phénoménologie (CP3)
9 Université Catholique de Louvain (UCL)
10*/
11
12/// \file H_HorizontalQuadrupole.cc
13/// \brief Classes aiming at simulating horizontal quadrupoles in beamline
14
15// local #includes
16#include "H_HorizontalQuadrupole.h"
17
18void H_HorizontalQuadrupole::setMatrix(const float eloss, const float p_mass, const float p_charge) {
19 if (fk>0) { if(VERBOSE) cout<<"<H_HorizontalQuadrupole> ERROR : k1 should be < 0 (" << name << ")!"<<endl; }
20 if (fk !=0 ) element_mat = hquadmat(element_length,fk,eloss, p_mass, p_charge);
21 else {
22 element_mat = driftmat(element_length);
23 if(VERBOSE) cout<<"<H_HorizontalQuadrupole> WARNING : k1= 0 ; drift-like quadrupole (" << name << ") !" << endl;
24 }
25 return ;
26}
27
28H_HorizontalQuadrupole* H_HorizontalQuadrupole::clone() const {
29 H_HorizontalQuadrupole* temp_quad = new H_HorizontalQuadrupole(name,fs,fk,element_length);
30 temp_quad->setAperture(element_aperture);
31 temp_quad->setX(xpos);
32 temp_quad->setY(ypos);
33 temp_quad->setTX(txpos);
34 temp_quad->setTY(typos);
35 temp_quad->setBetaX(betax);
36 temp_quad->setBetaY(betay);
37 return temp_quad;
38}
Note: See TracBrowser for help on using the repository browser.