diff --git a/RecoVertex/GaussianSumVertexFit/src/MultiRefittedTS.cc b/RecoVertex/GaussianSumVertexFit/src/MultiRefittedTS.cc index 8db2d818c7d27..1eef92b539d18 100644 --- a/RecoVertex/GaussianSumVertexFit/src/MultiRefittedTS.cc +++ b/RecoVertex/GaussianSumVertexFit/src/MultiRefittedTS.cc @@ -148,12 +148,7 @@ TrajectoryStateOnSurface MultiRefittedTS::trajectoryStateOnSurface( it != theComponents.end(); it++) { tsosComponents.push_back((**it).trajectoryStateOnSurface(surface)); } -// #ifndef CMS_NO_COMPLEX_RETURNS - return TrajectoryStateOnSurface(new BasicMultiTrajectoryState(tsosComponents)); -// #else -// TrajectoryStateOnSurface result(new BasicMultiTrajectoryState(tsosComponents)); -// return result; -// #endif + return TrajectoryStateOnSurface((BasicTrajectoryState*)new BasicMultiTrajectoryState(tsosComponents)); } TrajectoryStateOnSurface MultiRefittedTS::trajectoryStateOnSurface( @@ -165,12 +160,7 @@ TrajectoryStateOnSurface MultiRefittedTS::trajectoryStateOnSurface( it != theComponents.end(); it++) { tsosComponents.push_back((**it).trajectoryStateOnSurface(surface, propagator)); } -// #ifndef CMS_NO_COMPLEX_RETURNS - return TrajectoryStateOnSurface(new BasicMultiTrajectoryState(tsosComponents)); -// #else -// TrajectoryStateOnSurface result(new BasicMultiTrajectoryState(tsosComponents)); -// return result; -// #endif + return TrajectoryStateOnSurface((BasicTrajectoryState*)new BasicMultiTrajectoryState(tsosComponents)); } reco::TransientTrack MultiRefittedTS::transientTrack() const diff --git a/TrackingTools/GsfTools/src/MultiTrajectoryStateAssembler.cc b/TrackingTools/GsfTools/src/MultiTrajectoryStateAssembler.cc index 3d701d48fe927..73f7ae0116acd 100644 --- a/TrackingTools/GsfTools/src/MultiTrajectoryStateAssembler.cc +++ b/TrackingTools/GsfTools/src/MultiTrajectoryStateAssembler.cc @@ -106,7 +106,7 @@ TrajectoryStateOnSurface MultiTrajectoryStateAssembler::combinedState () { // // Return new multi state without reweighting // - return TSOS(new BasicMultiTrajectoryState(theStates)); + return TSOS((BasicTrajectoryState *)(new BasicMultiTrajectoryState(theStates))); } TrajectoryStateOnSurface MultiTrajectoryStateAssembler::combinedState (const float newWeight) { @@ -181,7 +181,7 @@ MultiTrajectoryStateAssembler::reweightedCombinedState (const double newWeight) i->surfaceSide(), factor*oldWeight)); } - return TSOS(new BasicMultiTrajectoryState(reweightedStates)); + return TSOS((BasicTrajectoryState *)(new BasicMultiTrajectoryState(reweightedStates))); } void diff --git a/TrackingTools/GsfTools/src/MultiTrajectoryStateTransform.cc b/TrackingTools/GsfTools/src/MultiTrajectoryStateTransform.cc index f870d4de947d0..373346e40b260 100644 --- a/TrackingTools/GsfTools/src/MultiTrajectoryStateTransform.cc +++ b/TrackingTools/GsfTools/src/MultiTrajectoryStateTransform.cc @@ -104,7 +104,7 @@ MultiTrajectoryStateTransform::stateOnSurface (const std::vector& weight components.push_back(TrajectoryStateOnSurface(lp,le,surface,field,weights[i])); } return - TrajectoryStateOnSurface(new BasicMultiTrajectoryState(components)); + TrajectoryStateOnSurface((BasicTrajectoryState *)(new BasicMultiTrajectoryState(components)) ); } bool diff --git a/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc b/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc index e4945708ba255..13fa0a84b1e21 100644 --- a/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc +++ b/TrackingTools/GsfTracking/src/TsosGaussianStateConversions.cc @@ -50,7 +50,7 @@ namespace GaussianStateConversions { LocalTrajectoryError((**ic).covariance()), surface,field,side,(**ic).weight())); } - return TrajectoryStateOnSurface(new BasicMultiTrajectoryState(components)); + return TrajectoryStateOnSurface((BasicTrajectoryState*)new BasicMultiTrajectoryState(components)); } } diff --git a/TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h b/TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h index 0aeb75ec0a2b7..dcc228ae78a48 100644 --- a/TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h +++ b/TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h @@ -10,9 +10,10 @@ class BasicSingleTrajectoryState GCC11_FINAL : public BasicTrajectoryState { public: BasicSingleTrajectoryState() : BasicTrajectoryState(){} +#if defined( __GXX_EXPERIMENTAL_CXX0X__) template BasicSingleTrajectoryState(Args && ...args) : BasicTrajectoryState(std::forward(args)...){} - +#endif BasicSingleTrajectoryState* clone() const { return new BasicSingleTrajectoryState(*this); } diff --git a/TrackingTools/TrajectoryState/interface/BasicTrajectoryState.h b/TrackingTools/TrajectoryState/interface/BasicTrajectoryState.h index 4884bf9076f99..46b4c76f4f69b 100644 --- a/TrackingTools/TrajectoryState/interface/BasicTrajectoryState.h +++ b/TrackingTools/TrajectoryState/interface/BasicTrajectoryState.h @@ -94,46 +94,73 @@ class BasicTrajectoryState : public BTSCount { virtual ~BasicTrajectoryState(); +#ifndef CMS_NOCXX11 + /** Constructor from FTS and surface. For surfaces with material * the side of the surface should be specified explicitely. */ BasicTrajectoryState( const FreeTrajectoryState& fts, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from global parameters and surface. For surfaces with material - * the side of the surface should be specified explicitely. + const SurfaceType& aSurface, + const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); + + + + /** Constructor from local parameters, errors and surface. For surfaces + * with material the side of the surface should be specified explicitely. + * For multi-states the weight should be specified explicitely. */ - BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface) : - theFreeState(par), - theLocalError(InvalidError()), - theLocalParameters(), - theLocalParametersValid(false), - theValid(true), - theSurfaceSide(side), - theSurfaceP( &aSurface), - theWeight(1.) - {} + BasicTrajectoryState( const LocalTrajectoryParameters& par, + const LocalTrajectoryError& err, + const SurfaceType& aSurface, + const MagneticField* field, + const SurfaceSide side, + double weight); + + BasicTrajectoryState( const LocalTrajectoryParameters& par, + const LocalTrajectoryError& err, + const SurfaceType& aSurface, + const MagneticField* field) : + BasicTrajectoryState(par,err,aSurface,field, SurfaceSideDefinition::atCenterOfSurface, 1.){} + /** Constructor from local parameters, errors and surface. For multi-states the + * weight should be specified explicitely. For backward compatibility without + * specification of the side of the surface. + */ + BasicTrajectoryState( const LocalTrajectoryParameters& par, + const LocalTrajectoryError& err, + const SurfaceType& aSurface, + const MagneticField* field, + double weight) : + BasicTrajectoryState(par,err,aSurface,field, SurfaceSideDefinition::atCenterOfSurface, weight){} + + /** Constructor from local parameters, errors and surface. For surfaces + * with material the side of the surface should be specified explicitely. + */ + BasicTrajectoryState( const LocalTrajectoryParameters& par, + const SurfaceType& aSurface, + const MagneticField* field, + const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface) : + BasicTrajectoryState(par, InvalidError(), aSurface, field, side, 1.){} + + /** Constructor from global parameters, errors and surface. For surfaces * with material the side of the surface should be specified explicitely. */ BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const CartesianTrajectoryError& err, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); + const CartesianTrajectoryError& err, + const SurfaceType& aSurface, + const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); /** Constructor from global parameters, errors and surface. For surfaces * with material the side of the surface should be specified explicitely. * For multi-states the weight should be specified explicitely. */ BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, - double weight = 1.) : + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface, + const SurfaceSide side, + double weight) : theFreeState(par, err), theLocalError(InvalidError()), theLocalParameters(), @@ -145,40 +172,64 @@ class BasicTrajectoryState : public BTSCount { {} - /** Constructor from global parameters, errors and surface. For multi-states the - * weight should be specified explicitely. For backward compatibility without - * specification of the side of the surface. - */ BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, - double weight); - /** Constructor from local parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - */ - BasicTrajectoryState( const LocalTrajectoryParameters& par, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from local parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - * For multi-states the weight should be specified explicitely. + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface, + const SurfaceSide side) : + BasicTrajectoryState(par,err, aSurface, side, 1.){} + + BasicTrajectoryState( const GlobalTrajectoryParameters& par, + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface) : + BasicTrajectoryState(par,err, aSurface, SurfaceSideDefinition::atCenterOfSurface, 1.){} + + + /** Constructor from global parameters and surface. For surfaces with material + * the side of the surface should be specified explicitely. */ - BasicTrajectoryState( const LocalTrajectoryParameters& par, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, - double weight = 1.); - /** Constructor from local parameters, errors and surface. For multi-states the + BasicTrajectoryState( const GlobalTrajectoryParameters& par, + const SurfaceType& aSurface, + const SurfaceSide side) : + BasicTrajectoryState(par, InvalidError(), aSurface, side, 1.){} + + + /** Constructor from global parameters, errors and surface. For multi-states the * weight should be specified explicitely. For backward compatibility without * specification of the side of the surface. */ - BasicTrajectoryState( const LocalTrajectoryParameters& par, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - double weight); + BasicTrajectoryState( const GlobalTrajectoryParameters& par, + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface, + double weight) : + BasicTrajectoryState(par,err, aSurface, SurfaceSideDefinition::atCenterOfSurface, weight){} + +#endif + + + virtual void update( const GlobalTrajectoryParameters& par, + const SurfaceType& aSurface, + SurfaceSide side) GCC11_FINAL { + theFreeState = FreeTrajectoryState(par); + theLocalError = InvalidError(); + theLocalParametersValid=false; + theValid=true; + theSurfaceSide=side; + theSurfaceP = &aSurface; + theWeight = 1.; + } + virtual void update( const GlobalTrajectoryParameters& par, + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface, + SurfaceSide side) GCC11_FINAL { + theFreeState = FreeTrajectoryState(par,err); + theLocalError = InvalidError(); + theLocalParametersValid=false; + theValid=true; + theSurfaceSide=side; + theSurfaceP = &aSurface; + theWeight = 1.; + } + bool isValid() const { return theValid; } diff --git a/TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h b/TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h index 39e3923de03e9..d6264407a38ab 100644 --- a/TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h +++ b/TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h @@ -3,6 +3,8 @@ #include "TrackingTools/TrajectoryState/interface/BasicTrajectoryState.h" #include "TrackingTools/TrajectoryState/interface/SurfaceSideDefinition.h" +#include "TrackingTools/TrajectoryState/interface/BasicSingleTrajectoryState.h" + #include @@ -22,78 +24,15 @@ class TrajectoryStateOnSurface : private BasicTrajectoryState::Proxy { // construct TrajectoryStateOnSurface() {} /// Constructor from one of the basic states - - // invalid state - explicit TrajectoryStateOnSurface(const SurfaceType& aSurface); - - TrajectoryStateOnSurface( BasicTrajectoryState* p) : Base(p) {} - /** Constructor from FTS and surface. For surfaces with material - * the side of the surface should be specified explicitely. - */ - TrajectoryStateOnSurface( const FreeTrajectoryState& fts, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from global parameters and surface. For surfaces with material - * the side of the surface should be specified explicitely. - */ - TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from global parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - */ - TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CartesianTrajectoryError& err, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from global parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - * For multi-states the weight should be specified explicitely. - */ - TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, - double weight = 1.); - /** Constructor from global parameters, errors and surface. For multi-states the - * weight should be specified explicitely. For backward compatibility without - * specification of the side of the surface. - */ - TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, - double weight); - /** Constructor from local parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - */ - TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); - /** Constructor from local parameters, errors and surface. For surfaces - * with material the side of the surface should be specified explicitely. - * For multi-states the weight should be specified explicitely. - */ - TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, - double weight = 1.); - /** Constructor from local parameters, errors and surface. For multi-states the - * weight should be specified explicitely. For backward compatibility without - * specification of the side of the surface. - */ - TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - double weight); + TrajectoryStateOnSurface( BasicSingleTrajectoryState* p) : Base(p) {} ~TrajectoryStateOnSurface() {} -#if defined( __GXX_EXPERIMENTAL_CXX0X__) +#ifndef CMS_NOCXX11 + + TrajectoryStateOnSurface(TrajectoryStateOnSurface & rh) noexcept : + Base(rh){} TrajectoryStateOnSurface(TrajectoryStateOnSurface const & rh) noexcept : Base(rh){} @@ -112,6 +51,8 @@ class TrajectoryStateOnSurface : private BasicTrajectoryState::Proxy { return *this; } + template + explicit TrajectoryStateOnSurface(Args && ...args) : Base(new BasicSingleTrajectoryState(std::forward(args)...)){} #endif @@ -217,10 +158,23 @@ class TrajectoryStateOnSurface : private BasicTrajectoryState::Proxy { void update( const LocalTrajectoryParameters& p, const SurfaceType& aSurface, const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); + SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface); + + void update( const LocalTrajectoryParameters& p, + SurfaceSide side) { unsharedData().update(p, side);} void update( const LocalTrajectoryParameters& p, - const SurfaceSide side) { unsharedData().update(p, side);} + const LocalTrajectoryError& err, + SurfaceSide side) {unsharedData().update(p, err, side);} + + void update( const GlobalTrajectoryParameters& par, + const SurfaceType& aSurface, + SurfaceSide side) { unsharedData().update(par, aSurface, side);} + + void update( const GlobalTrajectoryParameters& par, + const CurvilinearTrajectoryError& err, + const SurfaceType& aSurface, + SurfaceSide side) { unsharedData().update(par, err, aSurface, side);} /** Mutator from local parameters, errors and surface. For surfaces @@ -233,13 +187,20 @@ class TrajectoryStateOnSurface : private BasicTrajectoryState::Proxy { const LocalTrajectoryError& err, const SurfaceType& aSurface, const MagneticField* field, - const SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, + SurfaceSide side = SurfaceSideDefinition::atCenterOfSurface, double weight = 1.); - - void update( const LocalTrajectoryParameters& p, - const LocalTrajectoryError& err, - const SurfaceSide side) {unsharedData().update(p, err, side);} - + /* +#ifndef CMS_NOCXX11 + template + void update(Args && ...args) { + if (data().canUpdateLocalParameters()) { + unsharedData().update(std::forward(args)...); + } else { + *this = TrajectoryStateOnSurface(std::forward(args)...); + } + } +#endif + */ CurvilinearTrajectoryError & setCurvilinearError() { return sharedData().setCurvilinearError(); diff --git a/TrackingTools/TrajectoryState/src/BasicTrajectoryState.cc b/TrackingTools/TrajectoryState/src/BasicTrajectoryState.cc index 893c8dc10c6b4..89f8a2c6ee2fd 100644 --- a/TrackingTools/TrajectoryState/src/BasicTrajectoryState.cc +++ b/TrackingTools/TrajectoryState/src/BasicTrajectoryState.cc @@ -38,6 +38,18 @@ namespace { #endif BasicTrajectoryState::~BasicTrajectoryState(){} +BasicTrajectoryState:: +BasicTrajectoryState(const SurfaceType& aSurface) : + theLocalError(InvalidError()), + theLocalParameters(), + theLocalParametersValid(false), + theValid(false), + theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), + theSurfaceP( &aSurface), + theWeight(0) +{} + + namespace { inline @@ -64,8 +76,8 @@ namespace { BasicTrajectoryState:: BasicTrajectoryState( const FreeTrajectoryState& fts, - const SurfaceType& aSurface, - const SurfaceSide side) : + const SurfaceType& aSurface, + const SurfaceSide side) : theFreeState(fts), theLocalError(InvalidError()), theLocalParameters(), @@ -79,9 +91,9 @@ BasicTrajectoryState( const FreeTrajectoryState& fts, BasicTrajectoryState:: BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const CartesianTrajectoryError& err, - const SurfaceType& aSurface, - const SurfaceSide side) : + const CartesianTrajectoryError& err, + const SurfaceType& aSurface, + const SurfaceSide side) : theFreeState(par, err), theLocalError(InvalidError()), theLocalParameters(), @@ -92,43 +104,15 @@ BasicTrajectoryState( const GlobalTrajectoryParameters& par, theWeight(1.) {} -BasicTrajectoryState:: -BasicTrajectoryState( const GlobalTrajectoryParameters& par, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, - double weight) : - theFreeState(par, err), - theLocalError(InvalidError()), - theLocalParameters(), - theLocalParametersValid(false), - theValid(true), - theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), - theSurfaceP( &aSurface), - theWeight(weight) -{} -BasicTrajectoryState:: -BasicTrajectoryState( const LocalTrajectoryParameters& par, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side) : - theFreeState(makeFTS(par,aSurface,field)), - theLocalError(InvalidError()), - theLocalParameters(par), - theLocalParametersValid(true), - theValid(true), - theSurfaceSide(side), - theSurfaceP( &aSurface), - theWeight(1.) -{} BasicTrajectoryState:: BasicTrajectoryState( const LocalTrajectoryParameters& par, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side, - double weight) : + const LocalTrajectoryError& err, + const SurfaceType& aSurface, + const MagneticField* field, + const SurfaceSide side, + double weight) : theFreeState(makeFTS(par,aSurface,field)), theLocalError(err), theLocalParameters(par), @@ -139,31 +123,7 @@ BasicTrajectoryState( const LocalTrajectoryParameters& par, theWeight(weight) {} -BasicTrajectoryState:: -BasicTrajectoryState( const LocalTrajectoryParameters& par, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - double weight) : - theFreeState(makeFTS(par,aSurface,field)), - theLocalError(err), - theLocalParameters(par), - theLocalParametersValid(true), - theValid(true), - theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), - theSurfaceP( &aSurface), - theWeight(weight){} -BasicTrajectoryState:: -BasicTrajectoryState(const SurfaceType& aSurface) : - theLocalError(InvalidError()), - theLocalParameters(), - theLocalParametersValid(false), - theValid(false), - theSurfaceSide(SurfaceSideDefinition::atCenterOfSurface), - theSurfaceP( &aSurface), - theWeight(0) -{} diff --git a/TrackingTools/TrajectoryState/src/TrajectoryStateOnSurface.cc b/TrackingTools/TrajectoryState/src/TrajectoryStateOnSurface.cc index a66abe1b29999..40e77e9bfbfe0 100644 --- a/TrackingTools/TrajectoryState/src/TrajectoryStateOnSurface.cc +++ b/TrackingTools/TrajectoryState/src/TrajectoryStateOnSurface.cc @@ -3,61 +3,6 @@ typedef BasicSingleTrajectoryState BTSOS; -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface(const SurfaceType& aSurface) : - Base( new BTSOS(aSurface)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface(const FreeTrajectoryState& fts, - const SurfaceType& aSurface, const SurfaceSide side) : - Base( new BTSOS( fts, aSurface, side)) {} - - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface(const GlobalTrajectoryParameters& gp, - const SurfaceType& aSurface, const SurfaceSide side) : - Base( new BTSOS( gp, aSurface, side)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CartesianTrajectoryError& err, - const SurfaceType& aSurface, const SurfaceSide side) : - Base( new BTSOS( gp, err, aSurface, side)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, const SurfaceSide side, double weight) : - Base( new BTSOS( gp, err, aSurface, side, weight)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const GlobalTrajectoryParameters& gp, - const CurvilinearTrajectoryError& err, - const SurfaceType& aSurface, double weight) : - Base( new BTSOS( gp, err, aSurface, SurfaceSideDefinition::atCenterOfSurface, weight)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side) : - Base( new BTSOS( p, aSurface, field, side)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - const SurfaceSide side, double weight) : - Base( new BTSOS( p, err, aSurface, field, side, weight)) {} - -TrajectoryStateOnSurface:: -TrajectoryStateOnSurface( const LocalTrajectoryParameters& p, - const LocalTrajectoryError& err, - const SurfaceType& aSurface, - const MagneticField* field, - double weight) : - Base( new BTSOS( p, err, aSurface, field, SurfaceSideDefinition::atCenterOfSurface, weight)) {} void