ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VKMassConstraint Class Referencefinal

#include <Derivt.h>

Inheritance diagram for Trk::VKMassConstraint:
Collaboration diagram for Trk::VKMassConstraint:

Public Member Functions

 VKMassConstraint (int, double, VKVertex *)
 VKMassConstraint (int, double, std::vector< int >, VKVertex *)
 ~VKMassConstraint ()
virtual VKConstraintBaseclone () const override
void setTargetMass (double M)
virtual void applyConstraint () override
double getTargetMass () const
const std::vector< int > & getUsedParticles () const
const VKVertexgetOriginVertex () const
VKConstraintType getType () const

Public Attributes

int NCDim
int NTrk
std::vector< double > aa
std::vector< std::vector< Vect3DF > > f0t
std::vector< Vect3DFh0t

Protected Attributes

VKVertexm_originVertex
const VKConstraintType m_type

Private Attributes

std::vector< int > m_usedParticles
double m_targetMass

Friends

std::ostream & operator<< (std::ostream &out, const VKMassConstraint &cnst)

Detailed Description

Definition at line 48 of file Derivt.h.

Constructor & Destructor Documentation

◆ VKMassConstraint() [1/2]

Trk::VKMassConstraint::VKMassConstraint ( int NTRK,
double mass,
VKVertex * vk )
inline

Definition at line 157 of file Derivt.h.

159 m_usedParticles(NTRK, 0),
160 m_targetMass(mass) {
161 for (int i = 0; i < NTrk; i++)
162 m_usedParticles[i] = i;
163}
VKConstraintBase(const int, int, VKConstraintType, VKVertex *)
Definition Derivt.h:146
std::vector< int > m_usedParticles
Definition Derivt.h:63

◆ VKMassConstraint() [2/2]

Trk::VKMassConstraint::VKMassConstraint ( int NTRK,
double mass,
std::vector< int > listTrk,
VKVertex * vk )
inline

Definition at line 165 of file Derivt.h.

169 m_usedParticles(std::move(listTrk)),
170 m_targetMass(mass) {
171 m_originVertex = vk;
172}
VKVertex * m_originVertex
Definition Derivt.h:42

◆ ~VKMassConstraint()

Trk::VKMassConstraint::~VKMassConstraint ( )
inlinedefault

Member Function Documentation

◆ applyConstraint()

void Trk::VKMassConstraint::applyConstraint ( )
inlineoverridevirtual

Implements Trk::VKConstraintBase.

Definition at line 238 of file Derivt.h.

238 {
239 calcMassConstraint(this);
240}
void calcMassConstraint(VKMassConstraint *cnst)
Definition Derclc1.cxx:24

◆ clone()

VKConstraintBase * Trk::VKMassConstraint::clone ( ) const
inlineoverridevirtual

Implements Trk::VKConstraintBase.

Definition at line 218 of file Derivt.h.

218 {
219 return new VKMassConstraint(*this);
220}
VKMassConstraint(int, double, VKVertex *)
Definition Derivt.h:157

◆ getOriginVertex()

const VKVertex * Trk::VKConstraintBase::getOriginVertex ( ) const
inlineinherited

Definition at line 32 of file Derivt.h.

32{ return m_originVertex; }

◆ getTargetMass()

double Trk::VKMassConstraint::getTargetMass ( ) const
inline

Definition at line 59 of file Derivt.h.

59{ return m_targetMass; };

◆ getType()

VKConstraintType Trk::VKConstraintBase::getType ( ) const
inlineinherited

Definition at line 33 of file Derivt.h.

33{ return m_type; }
const VKConstraintType m_type
Definition Derivt.h:43

◆ getUsedParticles()

const std::vector< int > & Trk::VKMassConstraint::getUsedParticles ( ) const
inline

Definition at line 60 of file Derivt.h.

60{ return m_usedParticles; };

◆ setTargetMass()

void Trk::VKMassConstraint::setTargetMass ( double M)
inline

Definition at line 57 of file Derivt.h.

57{ m_targetMass = M; };

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const VKMassConstraint & cnst )
friend

Definition at line 32 of file Derivt.cxx.

32 {
33 const VKVertex* vk = cnst.getOriginVertex();
34 int NP = cnst.m_usedParticles.size();
35 out.precision(7);
36 out << std::defaultfloat;
37 out << " Mass constraint (total NTRK=" << vk->TrackList.size() << ")"
38 << "\n";
39 out << " * target mass: " << cnst.getTargetMass() << "\n";
40 out << " * particle indexes: ";
41 for (int i = 0; i < NP; i++) {
42 out << cnst.m_usedParticles[i] << ", ";
43 }
44 out << "\n";
45 out << " * particle masses: ";
46 for (int i = 0; i < NP; i++) {
47 out << vk->TrackList[cnst.m_usedParticles[i]]->getMass() << ", ";
48 }
49 out << "\n";
50 out << dynamic_cast<const VKConstraintBase&>(cnst) << "\n";
51 out.precision(6); // restore default
52 return out;
53}

Member Data Documentation

◆ aa

std::vector<double> Trk::VKConstraintBase::aa
inherited

Definition at line 38 of file Derivt.h.

◆ f0t

std::vector<std::vector<Vect3DF> > Trk::VKConstraintBase::f0t
inherited

Definition at line 39 of file Derivt.h.

◆ h0t

std::vector<Vect3DF> Trk::VKConstraintBase::h0t
inherited

Definition at line 40 of file Derivt.h.

◆ m_originVertex

VKVertex* Trk::VKConstraintBase::m_originVertex
protectedinherited

Definition at line 42 of file Derivt.h.

◆ m_targetMass

double Trk::VKMassConstraint::m_targetMass
private

Definition at line 64 of file Derivt.h.

◆ m_type

const VKConstraintType Trk::VKConstraintBase::m_type
protectedinherited

Definition at line 43 of file Derivt.h.

◆ m_usedParticles

std::vector<int> Trk::VKMassConstraint::m_usedParticles
private

Definition at line 63 of file Derivt.h.

◆ NCDim

int Trk::VKConstraintBase::NCDim
inherited

Definition at line 36 of file Derivt.h.

◆ NTrk

int Trk::VKConstraintBase::NTrk
inherited

Definition at line 37 of file Derivt.h.


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