Fork me on GitHub

source: svn/trunk/Utilities/Hector/include/H_Quadrupole.h@ 249

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

passing all objects as references

File size: 1.2 KB
Line 
1#ifndef _H_Quadrupole_
2#define _H_Quadrupole_
3
4/*
5---- Hector the simulator ----
6 A fast simulator of particles through generic beamlines.
7 J. de Favereau, X. Rouby ~~~ hector_devel@cp3.phys.ucl.ac.be
8
9 http://www.fynu.ucl.ac.be/hector.html
10
11 Centre de Physique des Particules et de Phénoménologie (CP3)
12 Université Catholique de Louvain (UCL)
13*/
14
15/// \file H_Quadrupole.h
16/// \brief Class describing quadrupoles.
17
18// local #includes
19#include "H_OpticalElement.h"
20
21/// Abstract class aiming at simulating LHC beam quadrupoles.
22class H_Quadrupole : public H_OpticalElement {
23
24 public:
25 /// Constructors and destructor
26 //@{
27 H_Quadrupole():H_OpticalElement() {}
28 H_Quadrupole(const int dtype, const double s, const double k, const double l) : H_OpticalElement(dtype,s,k,l) {}
29 H_Quadrupole(const string& nameE, const int dtype, const double s, const double k, const double l) : H_OpticalElement(nameE,dtype,s,k,l) {}
30 virtual ~H_Quadrupole() {};
31 //@}
32 virtual void printProperties() const;
33 virtual H_Quadrupole* clone() const =0 ;
34 void init();
35
36 protected:
37 virtual void setTypeString() =0;
38 virtual void setMatrix(const float, const float, const float) = 0;
39
40};
41
42#endif
Note: See TracBrowser for help on using the repository browser.