ATLAS Offline Software
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 //