|
|
Go to the documentation of this file. 1 #ifndef PixelCalibConfiguration_h
2 #define PixelCalibConfiguration_h
36 class PixelHdwAddress;
75 void nextFECState(std::map<unsigned int, PixelFECConfigInterface*>& pixelFECs,
78 std::map<pos::PixelModuleName, pos::PixelMaskBase*>* masks,
79 std::map<pos::PixelModuleName, pos::PixelTrimBase*>* trims,
80 std::map<pos::PixelModuleName, pos::PixelDACSettings*>* dacss,
81 unsigned int state)
const;
100 const std::map<std::string, PixelPortCardConfig*>& mapNamePortCard,
113 for (
unsigned int i = 0;
i <
dacs_.size();
i++) {
159 const std::vector<std::vector<unsigned int> >&
rowList()
const {
return rows_; }
160 const std::vector<PixelROCName>&
rocList()
const {
195 std::ofstream*
out1 =
nullptr,
196 std::ofstream*
out2 =
nullptr)
const override;
197 void writeXML(std::ofstream*
out, std::ofstream*
out1 =
nullptr, std::ofstream*
out2 =
nullptr)
const override;
199 std::ofstream*
out1 =
nullptr,
200 std::ofstream*
out2 =
nullptr)
const override;
216 unsigned int scanValue(
unsigned int iscan,
218 unsigned int ROCNumber,
219 unsigned int ROCsOnChannel)
const;
222 std::vector<unsigned int>
scanValues(
unsigned int iscan)
const {
return dacs_[iscan].values(); }
241 std::vector<std::vector<unsigned int> >
rows_;
242 std::vector<std::vector<unsigned int> >
cols_;
244 mutable std::vector<PixelROCName>
rocs_;
260 std::vector<PixelDACScanRange>
dacs_;
unsigned int iScan(std::string dac) const
std::map< std::string, std::string > parameters_
double scanValueStep(unsigned int iscan) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > & fedCardsAndChannels(unsigned int crate, PixelNameTranslation *translation, PixelFEDConfig *fedconfig, PixelDetectorConfig *detconfig) const
unsigned int maxNumHitsPerROC() const
This class provide a base class for the pixel ROC dac data for the pixel FEC configuration.
unsigned int scanValue(std::string dac, unsigned int state, PixelROCName roc) const
This is the documentation about PixelDetectorConfig...
bool objectsDependingOnTheNameTranslationBuilt_
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::vector< PixelROCName > rocs_
std::vector< std::vector< unsigned int > > cols_
This class stores the name and related hardware mappings for a ROC.
unsigned int nPixelPatterns() const
unsigned int nTriggersPerPattern() const
This class provides a base class for the pixel trim data for the pixel FEC configuration.
This file contains the base class for "pixel configuration data" management.
void buildObjectsDependingOnTheNameTranslation(const PixelNameTranslation *aNameTranslation)
std::vector< std::string > rocListInstructions_
std::vector< int > old_irows
std::map< PixelROCName, unsigned int > numROCsCalibratedOnChannel_
void writeASCII(std::string dir="") const override
std::set< PixelModuleName > modules_
bool scanValuesMixedAcrossROCs(unsigned int iscan) const
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.
This class provides a translation from the naming documents standard to specify the ROC to the corres...
bool containsScan(std::string name) const
PixelROCTrimBits * trims_
PixelCalibConfiguration(std::string filename="")
std::vector< PixelDACScanRange > dacs_
unsigned int nConfigurations() const
std::map< PixelROCName, unsigned int > ROCNumberOnChannelAmongThoseCalibrated_
void enablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCMaskBits *masks, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override
Base class for pixel calibration procedures.
This class implements the steps that are used in a scan over Threshold and CalDelay.
This class specifies which FEC boards are used and how they are addressed.
This file contains the base class for "pixel configuration data" management.
double scanValueStep(std::string dac) const
double scanValueMax(unsigned int iscan) const
void buildROCAndModuleLists(const PixelNameTranslation *translation, const PixelDetectorConfig *detconfig)
~PixelCalibConfiguration() override
const std::vector< std::vector< unsigned int > > & rowList() const
unsigned int scanROC(unsigned int state) const
double scanValueMax(std::string dac) const
std::vector< unsigned int > scanValues(std::string dac) const
std::vector< std::vector< unsigned int > > rows_
std::set< PixelChannel > channels_
const PixelHdwAddress * hdwadd_
This class specifies which detector components are used in the configuration (and eventually should s...
PixelROCMaskBits * masks_
unsigned int nScanPoints() const
std::set< std::pair< unsigned int, unsigned int > > pixelsWithHits(unsigned int state) const
unsigned int rowCounter(unsigned int state) const
const std::vector< std::vector< unsigned int > > & columnList() const
unsigned int scanCounter(std::string dac, unsigned int state) const
std::string scanName(unsigned int iscan) const
std::ostream & operator<<(std::ostream &s, const PixelCalibConfiguration &calib)
std::vector< std::pair< unsigned int, unsigned int > > defaultDACs_
Store mfec, mfecchannel etc.
unsigned int nTriggersTotal() const
This is the documentation about PixelFEDConfig...
unsigned int nROC() const
unsigned int numROCsCalibratedOnChannel(PixelROCName roc) const
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
bool rocAndModuleListsBuilt_
std::string getStreamedContent(void) const
std::string calibFileContent_
void buildROCAndModuleListsFromROCSet(const std::set< PixelROCName > &rocSet)
std::vector< unsigned int > scanValues(unsigned int iscan) const
This class specifies which TKFEC boards are used and how they are addressed.
std::map< unsigned int, std::set< unsigned int > > getFEDsAndChannels(PixelNameTranslation *translation)
std::set< unsigned int > getTKFECCrates(const PixelPortcardMap *portcardmap, const std::map< std::string, PixelPortCardConfig * > &mapNamePortCard, const PixelTKFECConfig *tkfecconfig) const
std::set< unsigned int > getFECCrates(const PixelNameTranslation *translation, const PixelFECConfig *fecconfig) const
const std::vector< PixelROCName > & rocList() const
void disablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
std::string parameterValue(std::string parameterName) const
bool scanningROCForState(PixelROCName roc, unsigned int state) const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > fedCardsAndChannels_
unsigned int nParameters() const
std::string mode() const override
bool scanValuesMixedAcrossROCs(std::string dac) const
double scanValueMin(std::string dac) const
std::vector< PixelROCInfo > rocInfo_
This class specifies which FEC boards are used and how they are addressed.
unsigned int numberOfScanVariables() const
std::set< unsigned int > getFEDCrates(const PixelNameTranslation *translation, const PixelFEDConfig *fedconfig) const
This class provides the mapping between portcards and the modules controlled by the card.
This is the documentation about PixelNameTranslation...
const std::set< PixelChannel > & channelList() const
unsigned int nScanPoints(std::string dac) const
double scanValueMin(unsigned int iscan) const
unsigned int scanValue(std::string dac, unsigned int state) const
std::vector< int > old_icols
const std::set< PixelModuleName > & moduleList() const
unsigned int ROCNumberOnChannelAmongThoseCalibrated(PixelROCName roc) const
unsigned int nScanPoints(unsigned int iscan) const
std::map< std::string, std::string > parametersList() const
unsigned int colCounter(unsigned int state) const
This class specifies the settings on the TKPCIFEC and the settings on the portcard.
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override