9#include <alignment/dbobjects/VXDAlignment.h>
10#include <alignment/GlobalLabel.h>
11#include <alignment/PedeResult.h>
12#include <cdc/dataobjects/WireID.h>
13#include <cdc/dbobjects/CDCAlignment.h>
14#include <vxd/dataobjects/VxdID.h>
16#include <gtest/gtest.h>
20using namespace alignment;
48 GlobalLabel::construct<VXDAlignment>(
vxdSensor,
paramid).registerTimeDependent(1, 100);
49 GlobalLabel::construct<CDCAlignment>(
cdcWire,
paramid).registerTimeDependent(1, 50);
50 GlobalLabel::construct<CDCAlignment>(
cdcWire,
paramid).registerTimeDependent(51, 100);
71 for (
int ilayer = 1; ilayer < 6; ilayer++) {
73 VxdID id(ilayer, 0, 0);
83 for (
int ilayer = 1; ilayer < 6; ilayer++) {
87 GlobalLabel movingLayerStaticParam = GlobalLabel::construct<VXDAlignment>(
VxdID(ilayer, 0, 0).
getID(), 4);
91 EXPECT_EQ(0, movingLayerStaticParam.
getTimeId());
101 GlobalLabel vxdlabel1 = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
102 GlobalLabel Cvxdlabel1 = GlobalLabel::construct<VXDAlignment>(vxdSensor, 2);
106 registerSomeTimeDepParams();
107 GlobalLabel vxdlabel2 = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
108 GlobalLabel Cvxdlabel2 = GlobalLabel::construct<VXDAlignment>(vxdSensor, 2);
113 GlobalLabel vxdlabel3 = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
114 GlobalLabel Cvxdlabel3 = GlobalLabel::construct<VXDAlignment>(vxdSensor, 2);
123 GlobalLabel vxdlabel1 = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
134 EXPECT_EQ(100873609, (
int)vxdlabel1);
135 EXPECT_EQ(100873609, (
unsigned int)vxdlabel1);
146 EXPECT_EQ(100873609, (
int)vxdlabel2);
147 EXPECT_EQ(100873609, (
unsigned int)vxdlabel2);
150 GlobalLabel other = GlobalLabel::construct<CDCAlignment>(cdcWire, 2);
151 EXPECT_EQ(270620402, other.
label());
153 EXPECT_EQ(100873609, other.
label());
161 GlobalLabel vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
162 GlobalLabel cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
163 EXPECT_EQ(100873609, vxdlabel.
label());
164 EXPECT_EQ(270620409, cdclabel.
label());
174 registerSomeTimeDepParams();
181 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
182 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
199 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
200 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
206 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
207 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
212 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
213 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
218 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
219 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
224 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
225 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
230 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
231 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
238 vxdlabel = GlobalLabel::construct<VXDAlignment>(vxdSensor, paramid);
239 cdclabel = GlobalLabel::construct<CDCAlignment>(cdcWire, paramid);
short cdcWire
Testing cdc id.
int paramid
Testing parameter id.
short vxdSensor
Testing vxd id.
void registerSomeTimeDepParams()
Register some parameters as time dependent.
virtual void TearDown()
cleanup
void setTime(unsigned int timeid)
Set current time slice for time dependent params.
Class to convert to/from global labels for Millepede II to/from detector & parameter identificators.
int label()
Returns encoded Pede label.
static void clearTimeDependentParamaters()
Forget all previously registered time dependent parameters.
gidTYPE setParameterId(gidTYPE paramId)
Useful setter to quickly change only the parameter id and return back the encoded label (for use in R...
gidTYPE getParameterId() const
Get id of alignment/calibration parameter.
bool getTimeFlag() const
Is label time-dependent?
gidTYPE getElementId() const
Returns the element id (like VxdID for silicon sensors) to identify sets of parameters in DB objects.
static const gidTYPE maxTID
max time slices for a parameter 1..999
void registerTimeDependent(gidTYPE start, gidTYPE end=maxTID)
Register this Detector element and parameter as time dependent with instance starting at "start" time...
static unsigned int & getCurrentTimeIntervalRef()
Returns reference to current time id.
gidTYPE getTimeId() const
Get time id.
Class to uniquely identify a any structure of the PXD and SVD.
baseType getID() const
Get the unique id.
Class to identify a wire inside the CDC.
unsigned short getEWire() const
Getter for encoded wire number.
int getID(const std::vector< double > &breaks, double t)
get id of the time point t
Abstract base class for different kinds of events.