ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_BeamTrack Class Reference

#include <ALFA_BeamTrack.h>

Collaboration diagram for ALFA_BeamTrack:

Public Member Functions

 ALFA_BeamTrack ()=default
 ~ALFA_BeamTrack ()=default
int initialize (const FPConfig &ConfigValues)
int CalculatePosRP (FPTracker::Particle particle)
 calculates the particle position and momentum at RP run first CalculatePosRP() then posRP() and momRP()
const FPTracker::PointPosRP ()
 Gives Back Position.
const FPTracker::PointMomRP ()
 gives back Momentum

Private Attributes

std::string m_ConfDir
FPTracker::ConfigData m_ConfigData
bool m_AlfaTwiss {true}
int m_ip {1}
int m_Magver {3}
FPTracker::Side m_Side {FPTracker::beam1}
std::shared_ptr< std::ifstream > m_Magfile
FPTracker::Point m_PosParticleRP
FPTracker::Point m_MomParticleRP
FPTracker::Beamline m_Beamline_1
FPTracker::Beamline m_Beamline_2

Detailed Description

Definition at line 28 of file ALFA_BeamTrack.h.

Constructor & Destructor Documentation

◆ ALFA_BeamTrack()

ALFA_BeamTrack::ALFA_BeamTrack ( )
default

◆ ~ALFA_BeamTrack()

ALFA_BeamTrack::~ALFA_BeamTrack ( )
default

Member Function Documentation

◆ CalculatePosRP()

int ALFA_BeamTrack::CalculatePosRP ( FPTracker::Particle particle)

calculates the particle position and momentum at RP run first CalculatePosRP() then posRP() and momRP()

Definition at line 117 of file ALFA_BeamTrack.cxx.

117 {
118
119 FPTracker::Particle Particle=std::move(particle);
120 FPTracker::Point lost_markerMom(-99,-99,-99);
121
122
123 std::cout<<"fpTracker: "<<Particle<<std::endl;
124 Particle.direction().z()>0. ? m_Beamline_1.track(Particle):m_Beamline_2.track(Particle);
125 std::cout<<"fpTracker: "<<Particle<<std::endl;
126
127 //m_PosParticleRP=Particle.position(); //old version vith 97mm shift
128 m_PosParticleRP=Particle.positionRelBeam();//version without shift
129
130 FPTracker::Point momentum( Particle.direction().x()*Particle.momentum(),
131 Particle.direction().y()*Particle.momentum(),
132 Particle.direction().z()*Particle.momentum());
133
135
136
137 if(Particle.isOutOfAperture())
138 {
139 //FPTracker::Point lost_markerPos(-99,-99,Particle.position().z());// old version with shift
140 FPTracker::Point lost_markerPos(-99,-99,Particle.positionRelBeam().z());
141 std::cout<<"Particle got lost"<<std::endl;
142 //m_PosParticleRP=lost_marker;
143 //write lost particle with -99 as maker in x and yposition z position ist the place where particle got lost
144 m_PosParticleRP=lost_markerPos;
145
146 m_MomParticleRP=lost_markerMom;
147 }
148
149
150 return true;
151}
FPTracker::Beamline m_Beamline_2
FPTracker::Point m_PosParticleRP
FPTracker::Beamline m_Beamline_1
FPTracker::Point m_MomParticleRP
Particle_v1 Particle
Define the latest version of the particle class.

◆ initialize()

int ALFA_BeamTrack::initialize ( const FPConfig & ConfigValues)

Definition at line 28 of file ALFA_BeamTrack.cxx.

28 {
29
30 m_ConfDir= ConfigValues.ConfDir;
31 m_AlfaTwiss = ConfigValues.UseALFA;
32
33
34 //initialisation of beampipes
35 if (m_AlfaTwiss) {std::cout<<"Will use alfa twiss files"<<std::endl;}
36
37
38 /*
39
40 boost::shared_ptr< std::ifstream > p_confFile;
41 p_confFile = FPTracker::getConfigFile(m_ConfDir, "FPData.txt") ;
42 m_ConfigData = FPTracker::readConfigData(p_confFile);
43
44 //SetPosition of RP in meter
45
46 //m_ConfigData.setPlane(ConfigValues.RPDistance);
47
48
49 ConfigData configData;
50 if( !readConfigData(p_confFile, configData) )
51 {
52 std::cout<<"fatal error reading config data\n";
53 return 1;
54 }
55
56
57 */
58
59 //Set Configuration parameters of FPTracker library
60 FPTracker::ConfigData ConfigData;
61
62
63 ConfigData.IP=ConfigValues.IP;
64 ConfigData.useaper=ConfigValues.useaper;
65 ConfigData.apermb=ConfigValues.apermb;
66 ConfigData.xcol1=ConfigValues.xcol1;
67 ConfigData.xcol2=ConfigValues.xcol2;
68 ConfigData.absZMagMax=ConfigValues.absZMagMax;
69 ConfigData.endMarker=ConfigValues.RPDistance;
70 ConfigData.setpbeam(ConfigValues.pbeam0);
71
72 /*
73 std::cout<<ConfigData.IP<<std::endl;
74 std::cout<<ConfigData.useaper<<std::endl;
75 std::cout<<ConfigData.apermb<<std::endl;
76 std::cout<<ConfigData.xcol1<<std::endl;
77 std::cout<<ConfigData.xcol2<<std::endl;
78 std::cout<<ConfigData.absZMagMax<<std::endl;
79 std::cout<<ConfigData.endMarker<<std::endl;
80 std::cout<<ConfigData.pbeam0<<std::endl;
81 std::cout<<ConfigData.brho<<std::endl;*/
82
83
84
85
86
87
88
89
90
91 m_ip = ConfigData.IP;
92 m_Magver = 3;
93
99 std::cout<<" beamline_1 start "<<'\n';
100 std::cout<<m_Beamline_1;
101 std::cout<<" beamline_1 end "<<"\n\n";
102
108
109 std::cout<<" beamline_2 start "<<'\n';
110 std::cout<<m_Beamline_2;
111 std::cout<<" beamline_2 end "<<"\n\n";
112
113 return true;
114}
FPTracker::Side m_Side
std::shared_ptr< std::ifstream > m_Magfile
std::string m_ConfDir
std::shared_ptr< std::ifstream > getAlfaMagnetConfigFiles(const std::string &dir, const Side &side)
std::shared_ptr< std::ifstream > getMagnetConfigFiles(const std::string &dir, int IP, int magVer, const Side &side)
Beamline setupBeamline(const ConfigData &, const Side &, int magver, std::shared_ptr< std::ifstream >)
double apermb
double xcol2
float RPDistance
std::string ConfDir
float absZMagMax
double pbeam0
double xcol1

◆ MomRP()

const FPTracker::Point & ALFA_BeamTrack::MomRP ( )

gives back Momentum

Definition at line 159 of file ALFA_BeamTrack.cxx.

159 {
160 return m_MomParticleRP;
161}

◆ PosRP()

const FPTracker::Point & ALFA_BeamTrack::PosRP ( )

Gives Back Position.

Definition at line 154 of file ALFA_BeamTrack.cxx.

154 {
155 return m_PosParticleRP;
156}

Member Data Documentation

◆ m_AlfaTwiss

bool ALFA_BeamTrack::m_AlfaTwiss {true}
private

Definition at line 49 of file ALFA_BeamTrack.h.

49{true};

◆ m_Beamline_1

FPTracker::Beamline ALFA_BeamTrack::m_Beamline_1
private

Definition at line 60 of file ALFA_BeamTrack.h.

◆ m_Beamline_2

FPTracker::Beamline ALFA_BeamTrack::m_Beamline_2
private

Definition at line 61 of file ALFA_BeamTrack.h.

◆ m_ConfDir

std::string ALFA_BeamTrack::m_ConfDir
private

Definition at line 47 of file ALFA_BeamTrack.h.

◆ m_ConfigData

FPTracker::ConfigData ALFA_BeamTrack::m_ConfigData
private

Definition at line 48 of file ALFA_BeamTrack.h.

◆ m_ip

int ALFA_BeamTrack::m_ip {1}
private

Definition at line 50 of file ALFA_BeamTrack.h.

50{1};

◆ m_Magfile

std::shared_ptr< std::ifstream > ALFA_BeamTrack::m_Magfile
private

Definition at line 54 of file ALFA_BeamTrack.h.

◆ m_Magver

int ALFA_BeamTrack::m_Magver {3}
private

Definition at line 51 of file ALFA_BeamTrack.h.

51{3};

◆ m_MomParticleRP

FPTracker::Point ALFA_BeamTrack::m_MomParticleRP
private

Definition at line 58 of file ALFA_BeamTrack.h.

◆ m_PosParticleRP

FPTracker::Point ALFA_BeamTrack::m_PosParticleRP
private

Definition at line 57 of file ALFA_BeamTrack.h.

◆ m_Side

FPTracker::Side ALFA_BeamTrack::m_Side {FPTracker::beam1}
private

Definition at line 53 of file ALFA_BeamTrack.h.


The documentation for this class was generated from the following files: