Fork me on GitHub

source: svn/trunk/Utilities/Hector/include/H_Dipole.h@ 260

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

passing all objects as references

File size: 1.2 KB
Line 
1/// \file H_Dipole.h
2/// \brief Class aiming at simulating LHC beam dipoles.
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#ifndef _H_Dipole_
16#define _H_Dipole_
17
18#include "H_OpticalElement.h"
19
20/// Abstract class aiming at simulating dipoles.
21class H_Dipole : public H_OpticalElement {
22
23 public:
24 /// Constructors and destructor
25 //@{
26 H_Dipole():H_OpticalElement() {}
27 H_Dipole(const int dtype, const double s, const double k, const double l):H_OpticalElement(dtype,s,k,l){}
28 H_Dipole(const string& nameE, const int dtype, const double s, const double k, const double l):H_OpticalElement(nameE,dtype,s,k,l){}
29 virtual ~H_Dipole() {};
30 //@}
31 /// Prints the properties of the element
32 virtual void printProperties() const;
33 virtual H_Dipole* 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.