1 #ifndef PixelCalibConfiguration_h
2 #define PixelCalibConfiguration_h
37 class PixelHdwAddress;
79 void nextFECState(std::map<unsigned int, PixelFECConfigInterface*>& pixelFECs,
82 std::map<pos::PixelModuleName,pos::PixelMaskBase*>*
masks,
83 std::map<pos::PixelModuleName,pos::PixelTrimBase*>* trims,
84 std::map<pos::PixelModuleName,pos::PixelDACSettings*>* dacss,
85 unsigned int state)
const;
107 for(
unsigned int i=0;
i<
dacs_.size();
i++) {
119 std::set< std::pair<unsigned int, unsigned int> >
pixelsWithHits(
unsigned int state)
const;
135 assert( !(
dacs_[
iScan(dac)].mixValuesAcrossROCs()) );
154 const std::vector<std::vector<unsigned int> > &
rowList()
const {
return rows_;}
181 std::ofstream *out1 =
NULL,
182 std::ofstream *out2 =
NULL
185 std::ofstream *out1 =
NULL ,
186 std::ofstream *out2 =
NULL )
const ;
188 std::ofstream *out1 =
NULL,
189 std::ofstream *out2 =
NULL
196 unsigned int rowCounter(
unsigned int state)
const;
199 unsigned int colCounter(
unsigned int state)
const;
202 unsigned int scanROC(
unsigned int state)
const;
206 unsigned int scanCounter(
unsigned int iscan,
unsigned int state)
const;
208 unsigned int scanValue(
unsigned int iscan,
unsigned int state,
unsigned int ROCNumber,
unsigned int ROCsOnChannel)
const;
211 std::vector<unsigned int>
scanValues(
unsigned int iscan)
const {
return dacs_[iscan].values();}
229 std::vector<std::vector<unsigned int> >
rows_;
230 std::vector<std::vector<unsigned int> >
cols_;
232 mutable std::vector<PixelROCName>
rocs_;
249 std::vector<PixelDACScanRange>
dacs_;
263 unsigned int irows,
unsigned int icols,
269 unsigned int irows,
unsigned int icols,
bool rocAndModuleListsBuilt_
This class specifies which TKFEC boards are used and how they are addressed.
std::set< unsigned int > getFEDCrates(const PixelNameTranslation *translation, const PixelFEDConfig *fedconfig) const
This class specifies which detector components are used in the configuration (and eventually should s...
std::vector< std::vector< unsigned int > > rows_
bool scanningROCForState(PixelROCName roc, unsigned int state) const
This class specifies which FEC boards are used and how they are addressed.
unsigned int nScanPoints() const
This file contains the base class for "pixel configuration data" management.
unsigned int numberOfScanVariables() const
std::set< PixelChannel > channels_
unsigned int scanValue(std::string dac, unsigned int state) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > fedCardsAndChannels_
PixelROCTrimBits * trims_
const std::set< PixelModuleName > & moduleList() const
This class provides the mapping between portcards and the modules controlled by the card...
unsigned int nROC() const
void buildROCAndModuleLists(const PixelNameTranslation *translation, const PixelDetectorConfig *detconfig)
virtual void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=NULL, std::ofstream *out2=NULL) const
std::vector< PixelROCInfo > rocInfo_
virtual void writeASCII(std::string dir="") const
double scanValueMin(unsigned int iscan) const
std::set< unsigned int > getFECCrates(const PixelNameTranslation *translation, const PixelFECConfig *fecconfig) const
double scanValueStep(unsigned int iscan) const
std::set< unsigned int > getTKFECCrates(const PixelPortcardMap *portcardmap, const std::map< std::string, PixelPortCardConfig * > &mapNamePortCard, const PixelTKFECConfig *tkfecconfig) const
unsigned int rowCounter(unsigned int state) const
This class specifies which FEC boards are used and how they are addressed.
unsigned int numROCsCalibratedOnChannel(PixelROCName roc) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > & fedCardsAndChannels(unsigned int crate, PixelNameTranslation *translation, PixelFEDConfig *fedconfig, PixelDetectorConfig *detconfig) const
void buildROCAndModuleListsFromROCSet(const std::set< PixelROCName > &rocSet)
unsigned int nParameters() const
std::ostream & operator<<(std::ostream &s, const PixelCalibConfiguration &calib)
bool objectsDependingOnTheNameTranslationBuilt_
unsigned int nTriggersTotal() const
std::vector< PixelDACScanRange > dacs_
bool containsScan(std::string name) const
const std::vector< std::vector< unsigned int > > & columnList() const
This class provides a translation from the naming documents standard to specify the ROC to the corres...
const PixelHdwAddress * hdwadd_
bool scanValuesMixedAcrossROCs(std::string dac) const
unsigned int maxNumHitsPerROC() const
PixelCalibConfiguration(std::string filename="")
MVATrainerComputer * calib
This file contains the base class for "pixel configuration data" management.
std::vector< std::pair< unsigned int, unsigned int > > defaultDACs_
Base class for pixel calibration procedures.
This class intends to define an abstract interface for the commands to talk to the PixelFEC...
This class specifies which TKFEC boards are used and how they are addressed.
unsigned int iScan(std::string dac) const
std::map< unsigned int, std::set< unsigned int > > getFEDsAndChannels(PixelNameTranslation *translation)
virtual void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=NULL, std::ofstream *out2=NULL) const
This class implements the steps that are used in a scan over Threshold and CalDelay.
unsigned int nScanPoints(unsigned int iscan) const
const std::vector< PixelROCName > & rocList() const
std::vector< unsigned int > scanValues(std::string dac) const
void disablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCTrimBits *trims, PixelHdwAddress theROC) const
unsigned int colCounter(unsigned int state) const
This is the documentation about PixelDetectorConfig...
Store mfec, mfecchannel etc.
void writeXML(pos::PixelConfigKey key, int version, std::string path) const
unsigned int nConfigurations() const
std::vector< std::string > rocListInstructions_
double scanValueMax(std::string dac) const
double scanValueMax(unsigned int iscan) const
std::set< std::pair< unsigned int, unsigned int > > pixelsWithHits(unsigned int state) const
std::string parameterValue(std::string parameterName) const
This class provide a base class for the pixel ROC dac data for the pixel FEC configuration.
PixelROCMaskBits * masks_
std::vector< unsigned int > scanValues(unsigned int iscan) const
void nextFECState(std::map< unsigned int, PixelFECConfigInterface * > &pixelFECs, PixelDetectorConfig *detconfig, PixelNameTranslation *trans, std::map< pos::PixelModuleName, pos::PixelMaskBase * > *masks, std::map< pos::PixelModuleName, pos::PixelTrimBase * > *trims, std::map< pos::PixelModuleName, pos::PixelDACSettings * > *dacss, unsigned int state) const
std::map< PixelROCName, unsigned int > ROCNumberOnChannelAmongThoseCalibrated_
unsigned int scanCounter(std::string dac, unsigned int state) const
double scanValueMin(std::string dac) const
std::set< PixelModuleName > modules_
This class provides a base class for the pixel trim data for the pixel FEC configuration.
double scanValueStep(std::string dac) const
std::map< std::string, std::string > parameters_
unsigned int ROCNumberOnChannelAmongThoseCalibrated(PixelROCName roc) const
const std::set< PixelChannel > & channelList() const
This is the documentation about PixelNameTranslation...
std::vector< int > old_irows
bool scanValuesMixedAcrossROCs(unsigned int iscan) const
const std::vector< std::vector< unsigned int > > & rowList() const
unsigned int nTriggersPerPattern() const
unsigned int scanROC(unsigned int state) const
This is the documentation about PixelFEDConfig...
std::vector< PixelROCName > rocs_
void enablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCMaskBits *masks, pos::PixelROCTrimBits *trims, PixelHdwAddress theROC) const
std::string scanName(unsigned int iscan) const
std::string getStreamedContent(void) const
unsigned int nPixelPatterns() const
unsigned int scanValue(std::string dac, unsigned int state, PixelROCName roc) const
void buildObjectsDependingOnTheNameTranslation(const PixelNameTranslation *aNameTranslation)
unsigned int nScanPoints(std::string dac) const
std::map< PixelROCName, unsigned int > numROCsCalibratedOnChannel_
This class specifies the settings on the TKPCIFEC and the settings on the portcard.
std::vector< std::vector< unsigned int > > cols_
std::string calibFileContent_
virtual ~PixelCalibConfiguration()
This class stores the name and related hardware mappings for a ROC.
std::map< std::string, std::string > parametersList() const
std::vector< int > old_icols
static const uint32_t masks[]