00001 // COCOA class header file 00002 // Id: MeasurementCOPS.h 00003 // CAT: Model 00004 // 00005 // Class for measurements 00006 // 00007 // History: v1.0 00008 // Authors: 00009 // Pedro Arce 00010 00011 #ifndef _MeasurementCOPS_h 00012 #define _MeasurementCOPS_h 00013 00014 #include <vector> 00015 #include "Alignment/CocoaModel/interface/Measurement.h" 00016 #include "Alignment/CocoaUtilities/interface/CocoaGlobals.h" 00017 00018 class MeasurementCOPS : public Measurement 00019 { 00020 public: 00021 MeasurementCOPS( const ALIint measdim, ALIstring& type, ALIstring& name ) 00022 : Measurement( measdim, type, name ){ 00023 for(unsigned int ii=0; ii<4; ii++) theXlaserLine[ii] = -1; 00024 }; 00025 MeasurementCOPS(){ }; 00026 ~MeasurementCOPS(){ }; 00027 00028 // Get simulated value (called every time a parameter is displaced) 00029 virtual void calculateSimulatedValue( ALIbool firstTime ); 00030 00031 //---------- Add any correction between the measurement data and the default format in COCOA 00032 virtual void correctValueAndSigma(); 00033 00034 //---------- Convert from V to rad 00035 virtual void setConversionFactor( const std::vector<ALIstring>& wordlist ); 00036 virtual int xlaserLine( unsigned int ii) { 00037 return theXlaserLine[ii]; 00038 } 00039 virtual void setXlaserLine( unsigned int ii, int val) { 00040 theXlaserLine[ii] = val;}; 00041 00042 private: 00043 00044 ALIdouble theDisplace[4]; 00045 ALIint theXlaserLine[4]; // which x-hair laser line is measuring the CCD (0: X for UP and DOWN, Y for LEFT and RIGHT; 1: Y for UP and DOWN, X for LEFT and RIGHT ). Initialised at -1 00046 00047 }; 00048 00049 #endif