CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TwoBowedSurfacesAlignmentParameters Class Reference

#include <TwoBowedSurfacesAlignmentParameters.h>

Inheritance diagram for TwoBowedSurfacesAlignmentParameters:
AlignmentParameters

Public Types

enum  AlignmentParameterName {
  dx1 = BowedDerivs::dx, dy1 = BowedDerivs::dy, dz1 = BowedDerivs::dz, dslopeX1 = BowedDerivs::dslopeX,
  dslopeY1 = BowedDerivs::dslopeY, drotZ1 = BowedDerivs::drotZ, dsagittaX1 = BowedDerivs::dsagittaX, dsagittaXY1 = BowedDerivs::dsagittaXY,
  dsagittaY1 = BowedDerivs::dsagittaY, dx2 = BowedDerivs::dx + BowedDerivs::N_PARAM, dy2 = BowedDerivs::dy + BowedDerivs::N_PARAM, dz2 = BowedDerivs::dz + BowedDerivs::N_PARAM,
  dslopeX2 = BowedDerivs::dslopeX + BowedDerivs::N_PARAM, dslopeY2 = BowedDerivs::dslopeY + BowedDerivs::N_PARAM, drotZ2 = BowedDerivs::drotZ + BowedDerivs::N_PARAM, dsagittaX2 = BowedDerivs::dsagittaX + BowedDerivs::N_PARAM,
  dsagittaXY2 = BowedDerivs::dsagittaXY + BowedDerivs::N_PARAM, dsagittaY2 = BowedDerivs::dsagittaY + BowedDerivs::N_PARAM, N_PARAM = BowedDerivs::N_PARAM + BowedDerivs::N_PARAM
}
 
typedef
BowedSurfaceAlignmentDerivatives 
BowedDerivs
 Give parameters a name (do not change order, see derivatives(..)!) More...
 
- Public Types inherited from AlignmentParameters
typedef
AlignmentParametersData::DataContainer 
DataContainer
 

Public Member Functions

virtual void apply ()
 apply parameters to alignable More...
 
virtual
TwoBowedSurfacesAlignmentParameters
clone (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
 Clone all parameters (for update of parameters) More...
 
virtual
TwoBowedSurfacesAlignmentParameters
cloneFromSelected (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
 Clone selected parameters (for update of parameters) More...
 
virtual AlgebraicMatrix derivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &aliDet) const
 Get all derivatives. More...
 
virtual void print () const
 print parameters to screen More...
 
 TwoBowedSurfacesAlignmentParameters (Alignable *alignable)
 Constructor with empty parameters/covariance. More...
 
 TwoBowedSurfacesAlignmentParameters (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix)
 Constructor for full set of parameters. More...
 
 TwoBowedSurfacesAlignmentParameters (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix, const std::vector< bool > &selection)
 Constructor for selection. More...
 
virtual int type () const
 tell type (AlignmentParametersFactory::ParametersType - but no circular dependency) More...
 
double ySplit () const
 
virtual ~TwoBowedSurfacesAlignmentParameters ()
 Destructor. More...
 
- Public Member Functions inherited from AlignmentParameters
Alignablealignable (void) const
 Get pointer to corresponding alignable. More...
 
 AlignmentParameters ()
 Default constructor. More...
 
 AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov)
 Constructor from given input. More...
 
 AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov, const std::vector< bool > &sel)
 Constructor including selection of active parameters. More...
 
 AlignmentParameters (Alignable *object, const DataContainer &data)
 Constructor. More...
 
const AlgebraicSymMatrixcovariance (void) const
 Get parameter covariance matrix. More...
 
virtual unsigned int hierarchyLevel () const
 
bool isValid (void) const
 Get validity flag. More...
 
int numSelected (void) const
 Get number of selected parameters. More...
 
const AlgebraicVectorparameters (void) const
 Get alignment parameters. More...
 
AlgebraicSymMatrix selectedCovariance (void) const
 Get covariance matrix of selected parameters. More...
 
virtual AlgebraicMatrix selectedDerivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
 
AlgebraicVector selectedParameters (void) const
 Get selected parameters. More...
 
const std::vector< bool > & selector (void) const
 Get alignment parameter selector vector. More...
 
void setUserVariables (AlignmentUserVariables *auv)
 Set pointer to user variables. More...
 
void setValid (bool v)
 Set validity flag. More...
 
int size (void) const
 Get number of parameters. More...
 
AlignmentUserVariablesuserVariables (void) const
 Get pointer to user variables. More...
 
virtual ~AlignmentParameters ()
 Destructor. More...
 

Private Member Functions

double ySplitFromAlignable (const Alignable *ali) const
 

Private Attributes

double ySplit_
 

Additional Inherited Members

- Protected Member Functions inherited from AlignmentParameters
AlgebraicSymMatrix collapseSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
 
AlgebraicVector collapseVector (const AlgebraicVector &m, const std::vector< bool > &sel) const
 
AlgebraicSymMatrix expandSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
 
AlgebraicVector expandVector (const AlgebraicVector &m, const std::vector< bool > &sel) const
 
- Protected Attributes inherited from AlignmentParameters
bool bValid
 True if parameters are valid. More...
 
AlignabletheAlignable
 
DataContainer theData
 
AlignmentUserVariablestheUserVariables
 

Detailed Description

Concrete class for alignment parameters and associated quantities [derived from AlignmentParameters]. The alignable is assumed to have in fact two surfaces devided at a specific local ySplit. The number of parameters N_PARAM is 2x9, i.e. one set of

the half differences of the movements and rotations, to be taken into account, with positive/negative sign, for corrections for the surface at lower/higher y,

Definition at line 40 of file TwoBowedSurfacesAlignmentParameters.h.

Member Typedef Documentation

Give parameters a name (do not change order, see derivatives(..)!)

Definition at line 44 of file TwoBowedSurfacesAlignmentParameters.h.

Member Enumeration Documentation

Enumerator
dx1 
dy1 
dz1 
dslopeX1 
dslopeY1 
drotZ1 
dsagittaX1 
dsagittaXY1 
dsagittaY1 
dx2 
dy2 
dz2 
dslopeX2 
dslopeY2 
drotZ2 
dsagittaX2 
dsagittaXY2 
dsagittaY2 
N_PARAM 

Definition at line 45 of file TwoBowedSurfacesAlignmentParameters.h.

45  {
46  // 1st surface
50  dslopeX1 = BowedDerivs::dslopeX, // NOTE: slope(u) -> halfWidth*tan(beta),
51  dslopeY1 = BowedDerivs::dslopeY, // slope(v) -> halfLength*tan(alpha)
52  drotZ1 = BowedDerivs::drotZ, // rot(w) -> g-scale*gamma
56  // 2nd surface
60  dslopeX2 = BowedDerivs::dslopeX + BowedDerivs::N_PARAM, // NOTE: slope(u) -> k*tan(beta),
61  dslopeY2 = BowedDerivs::dslopeY + BowedDerivs::N_PARAM, // slope(v) -> k*tan(alpha)
62  drotZ2 = BowedDerivs::drotZ + BowedDerivs::N_PARAM, // rot(w) -> m*gamma
66  // number of parameters
67  N_PARAM = BowedDerivs::N_PARAM + BowedDerivs::N_PARAM
68  };

Constructor & Destructor Documentation

TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters ( Alignable alignable)

Constructor with empty parameters/covariance.

Definition at line 27 of file TwoBowedSurfacesAlignmentParameters.cc.

TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
)

Constructor for full set of parameters.

Definition at line 35 of file TwoBowedSurfacesAlignmentParameters.cc.

TwoBowedSurfacesAlignmentParameters::TwoBowedSurfacesAlignmentParameters ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix,
const std::vector< bool > &  selection 
)

Constructor for selection.

Definition at line 50 of file TwoBowedSurfacesAlignmentParameters.cc.

virtual TwoBowedSurfacesAlignmentParameters::~TwoBowedSurfacesAlignmentParameters ( )
inlinevirtual

Destructor.

Definition at line 84 of file TwoBowedSurfacesAlignmentParameters.h.

84 {};

Member Function Documentation

void TwoBowedSurfacesAlignmentParameters::apply ( )
virtual
TwoBowedSurfacesAlignmentParameters * TwoBowedSurfacesAlignmentParameters::clone ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const
virtual

Clone all parameters (for update of parameters)

Implements AlignmentParameters.

Definition at line 66 of file TwoBowedSurfacesAlignmentParameters.cc.

TwoBowedSurfacesAlignmentParameters * TwoBowedSurfacesAlignmentParameters::cloneFromSelected ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const
virtual

Clone selected parameters (for update of parameters)

Implements AlignmentParameters.

Definition at line 80 of file TwoBowedSurfacesAlignmentParameters.cc.

AlgebraicMatrix TwoBowedSurfacesAlignmentParameters::derivatives ( const TrajectoryStateOnSurface tsos,
const AlignableDetOrUnitPtr aliDet 
) const
virtual

Get all derivatives.

Implements AlignmentParameters.

Definition at line 89 of file TwoBowedSurfacesAlignmentParameters.cc.

void TwoBowedSurfacesAlignmentParameters::print ( void  ) const
virtual

print parameters to screen

Definition at line 228 of file TwoBowedSurfacesAlignmentParameters.cc.

int TwoBowedSurfacesAlignmentParameters::type ( ) const
virtual

tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)

Implements AlignmentParameters.

Definition at line 222 of file TwoBowedSurfacesAlignmentParameters.cc.

double TwoBowedSurfacesAlignmentParameters::ySplit ( ) const
inline
double TwoBowedSurfacesAlignmentParameters::ySplitFromAlignable ( const Alignable ali) const
private

Definition at line 237 of file TwoBowedSurfacesAlignmentParameters.cc.

Member Data Documentation

double TwoBowedSurfacesAlignmentParameters::ySplit_
private

Definition at line 109 of file TwoBowedSurfacesAlignmentParameters.h.

Referenced by ySplit().