Fork me on GitHub

source: svn/trunk/Utilities/Hector/include/H_Kicker.h@ 309

Last change on this file since 309 was 281, checked in by Xavier Rouby, 15 years ago

new Hector version

File size: 2.0 KB
RevLine 
[281]1#ifndef _H_Kicker_
2#define _H_Kicker_
3
4 /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
5 * *
6* --<--<-- A fast simulator --<--<-- *
7* / --<--<-- of particle --<--<-- *
8* ----HECTOR----< *
9* \ -->-->-- transport through -->-->-- *
10* -->-->-- generic beamlines -->-->-- *
11* *
12* JINST 2:P09005 (2007) *
13* X Rouby, J de Favereau, K Piotrzkowski (CP3) *
14* http://www.fynu.ucl.ac.be/hector.html *
15* *
16* Center for Cosmology, Particle Physics and Phenomenology *
17* Universite catholique de Louvain *
18* Louvain-la-Neuve, Belgium *
19 * *
20 * * * * * * * * * * * * * * * * * * * * * * * * * * * */
21
[3]22/// \file H_Kicker.h
23/// \brief Classes aiming at simulating kickers in LHC beamline.
24/// fk [rad] for kickers !!!!
25
26// local #includes
27#include "H_OpticalElement.h"
28
29/// Abstract class aiming at simulating kickers in LHC beamline.
30class H_Kicker : public H_OpticalElement {
31
32public:
33 /// Constructors and destructor
34 //@{
35 H_Kicker():H_OpticalElement() {}
36 H_Kicker(const int dtype, const double s, const double k, const double l):H_OpticalElement(dtype,s,k,l){}
[216]37 H_Kicker(const string& nameE, const int dtype, const double s, const double k, const double l):H_OpticalElement(nameE,dtype,s,k,l){}
38 virtual ~H_Kicker() {};
[3]39 //@}
40 virtual H_Kicker* clone() const = 0;
[281]41 virtual void printProperties() const { cout << *this; return;};
[3]42 void init();
43
44 protected:
45 virtual void setTypeString() = 0;
46 virtual void setMatrix(const float, const float, const float) = 0;
[281]47 friend std::ostream& operator<< (std::ostream& os, const H_Kicker& el);
[3]48};
49
50#endif
Note: See TracBrowser for help on using the repository browser.