ATLAS Offline Software
ForwardDetectors
FPTracker
src
Solenoid.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// UNFINISHED
6
// UNFINISHED
7
// UNFINISHED
8
//
9
//
10
// #include "FPTracker/SolenoidElement.h"
11
// #include "FPTracker/Particle.h"
12
// #include <sstream>
13
// #include <cmath>
14
// #include <iostream>
15
//
16
// namespace FPTracker{
17
//
18
// SolenoidElement::SolenoidElement(double front,
19
// double back,
20
// const TransversePoint& beamAxis,
21
// Side side,
22
// double C,
23
// double S,
24
// double k
25
// ):
26
//
27
// m_frontFace(front), m_rearFace(back),
28
// m_signedLength(m_rearFace-m_frontFace),
29
// m_absLength(std::fabs(m_signedLength)),
30
// m_pos( beamAxis.x(), beamAxis.y(), front+0.5*m_signedLength),
31
// m_label("Solenoid"), m_side(side),
32
// m_t00(C*C),
33
// m_t01(S.C/k),
34
// m_t02(SC),
35
// m_t03(S*S/k),
36
// m_t10(-k*S*C),
37
// m_t11(C*C),
38
// m_t12(-k*S*S),
39
// m_t13(S*C),
40
// m_t20(-S*C),
41
// m_t21(-S*S/k),
42
// m_t22(C*2),
43
// m_t23(S*C/k),
44
// m_t30(k*S*S),
45
// m_t31(-S*C),
46
// m_t32(-k*S*C),
47
// m_t33(C*C)
48
// {
49
// }
50
//
51
// SolenoidElement::SolenoidElement(const IBeamElement::ConstPtr_t& p, const IBeamElement::ConstPtr_t& c):
52
// m_frontFace(p->rearFace()), m_rearFace(c->frontFace()), m_signedLength(m_rearFace-m_frontFace),
53
// m_absLength(std::fabs(m_signedLength)),
54
// m_pos( p->position() ),
55
// m_label("Solenoid"), m_side(c->side()){
56
// }
57
//
58
// IBeamElement::ConstPtr_t SolenoidElement::clone() const{
59
// IBeamElement::ConstPtr_t pbe(new SolenoidElement(*this));
60
// return pbe;
61
// }
62
//
63
// double SolenoidElement::frontFace() const {return m_frontFace;}
64
// double SolenoidElement::rearFace() const {return m_rearFace;}
65
// std::string SolenoidElement::label() const {return m_label;}
66
// double SolenoidElement::zsignedpos() const {return m_frontFace + /*0.5* */m_signedLength;}//Added dpelikan @ 110308
67
// double SolenoidElement::zabspos() const {return std::fabs(this->zsignedpos());}
68
// Point SolenoidElement::position() const {return m_pos;}
69
// Side SolenoidElement::side() const {return m_side;}
70
// bool SolenoidElement::isEndElement() const {return false;}
71
//
72
// void SolenoidElement::track(IParticle& particle) const
73
// {
74
// //Added dpelikan @ 110308
75
// double TransLength=m_absLength-(std::abs(particle.position().z())-std::abs(m_frontFace));
76
// //std::cout<<m_absLength<<"\t"<<TransLength<<std::endl;
77
//
78
// particle.setBeamCoordinateShift(this);
79
//
80
//
81
//
82
// //particle.position() += m_absLength*particle.direction();
83
// particle.position() += TransLength*particle.direction();
84
// particle.position()[2] = m_rearFace;
85
//
86
// }
87
//
88
// void SolenoidElement::calibrate(IParticle& particle) const
89
// {
90
// return this->track(particle);
91
// }
92
//
93
// std::string SolenoidElement::str() const {
94
//
95
// std::ostringstream ost;
96
// ost <<" \n\n-- SolenoidElement --\n"
97
// << "frontFace " << m_frontFace <<'\n'
98
// << "rearFace " << m_rearFace <<'\n';
99
// return ost.str();
100
// }
101
//
102
// SolenoidElement::~SolenoidElement(){}
103
// /*
104
// double SolenoidElement::rearFace() const {return 0.;}
105
// double SolenoidElement::frontFace() const {return 0.;}
106
// std::string SolenoidElement::label() const {return "";}
107
// double SolenoidElement::zsignedpos() const {return 0.;}
108
// double SolenoidElement::zabspos() const {return 0.;}
109
// Point SolenoidElement::position() const {return Point(0., 0., 0.);}
110
// int SolenoidElement::side() const {return 0;}
111
// bool SolenoidElement::isEndElement() const {return false;}
112
// void SolenoidElement::track(Particle& particle) const {}
113
//
114
// std::string SolenoidElement::str() const {return " ";}
115
// */
116
//
117
// }
118
//
Generated on Thu Nov 7 2024 21:26:23 for ATLAS Offline Software by
1.8.18