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_;
void enablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCMaskBits *masks, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
unsigned int ROCNumberOnChannelAmongThoseCalibrated(PixelROCName roc) const
bool rocAndModuleListsBuilt_
This class specifies which TKFEC boards are used and how they are addressed.
This class specifies which detector components are used in the configuration (and eventually should s...
std::vector< std::vector< unsigned int > > rows_
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 scanValueMax(unsigned int iscan) const
std::set< unsigned int > getTKFECCrates(const PixelPortcardMap *portcardmap, const std::map< std::string, PixelPortCardConfig *> &mapNamePortCard, const PixelTKFECConfig *tkfecconfig) const
std::set< PixelChannel > channels_
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::string parameterValue(std::string parameterName) const
std::vector< unsigned int > scanValues(std::string dac) const
unsigned int nROC() const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > fedCardsAndChannels_
std::string scanName(unsigned int iscan) const
PixelROCTrimBits * trims_
~PixelCalibConfiguration() override
unsigned int scanROC(unsigned int state) const
This class provides the mapping between portcards and the modules controlled by the card...
std::set< unsigned int > getFECCrates(const PixelNameTranslation *translation, const PixelFECConfig *fecconfig) const
bool scanValuesMixedAcrossROCs(unsigned int iscan) const
const std::set< PixelChannel > & channelList() const
unsigned int nTriggersTotal() const
std::string mode() const override
void buildROCAndModuleLists(const PixelNameTranslation *translation, const PixelDetectorConfig *detconfig)
std::vector< PixelROCInfo > rocInfo_
bool containsScan(std::string name) const
This class specifies which FEC boards are used and how they are addressed.
void buildROCAndModuleListsFromROCSet(const std::set< PixelROCName > &rocSet)
unsigned int scanCounter(std::string dac, unsigned int state) const
std::ostream & operator<<(std::ostream &s, const PixelCalibConfiguration &calib)
bool objectsDependingOnTheNameTranslationBuilt_
std::vector< PixelDACScanRange > dacs_
unsigned int nScanPoints(unsigned int iscan) const
const std::set< PixelModuleName > & moduleList() const
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override
This class provides a translation from the naming documents standard to specify the ROC to the corres...
std::vector< unsigned int > scanValues(unsigned int iscan) const
std::string getStreamedContent(void) const
unsigned int colCounter(unsigned int state) const
const PixelHdwAddress * hdwadd_
double scanValueStep(std::string dac) const
void disablePixels(PixelFECConfigInterface *pixelFEC, unsigned int irows, unsigned int icols, pos::PixelROCTrimBits *trims, const PixelHdwAddress &theROC) const
double scanValueMax(std::string dac) const
bool scanningROCForState(PixelROCName roc, unsigned int state) const
PixelCalibConfiguration(std::string filename="")
unsigned int iScan(std::string dac) const
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.
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
This class intends to define an abstract interface for the commands to talk to the PixelFEC...
unsigned int numberOfScanVariables() const
This class specifies which TKFEC boards are used and how they are addressed.
unsigned int nScanPoints(std::string dac) const
std::map< unsigned int, std::set< unsigned int > > getFEDsAndChannels(PixelNameTranslation *translation)
unsigned int nTriggersPerPattern() const
unsigned int nConfigurations() const
This class implements the steps that are used in a scan over Threshold and CalDelay.
This is the documentation about PixelDetectorConfig...
const std::vector< std::vector< unsigned int > > & columnList() const
std::vector< std::pair< unsigned int, std::vector< unsigned int > > > & fedCardsAndChannels(unsigned int crate, PixelNameTranslation *translation, PixelFEDConfig *fedconfig, PixelDetectorConfig *detconfig) const
Store mfec, mfecchannel etc.
std::vector< std::string > rocListInstructions_
bool scanValuesMixedAcrossROCs(std::string dac) const
unsigned int nPixelPatterns() const
This class provide a base class for the pixel ROC dac data for the pixel FEC configuration.
PixelROCMaskBits * masks_
double scanValueMin(unsigned int iscan) const
double scanValueStep(unsigned int iscan) const
std::map< PixelROCName, unsigned int > ROCNumberOnChannelAmongThoseCalibrated_
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
std::set< PixelModuleName > modules_
unsigned int rowCounter(unsigned int state) const
void writeASCII(std::string dir="") const override
This class provides a base class for the pixel trim data for the pixel FEC configuration.
unsigned int nParameters() const
const std::vector< PixelROCName > & rocList() const
unsigned int maxNumHitsPerROC() const
std::map< std::string, std::string > parameters_
This is the documentation about PixelNameTranslation...
std::vector< int > old_irows
unsigned int scanValue(std::string dac, unsigned int state, PixelROCName roc) const
unsigned int numROCsCalibratedOnChannel(PixelROCName roc) const
double scanValueMin(std::string dac) const
This is the documentation about PixelFEDConfig...
std::vector< PixelROCName > rocs_
unsigned int nScanPoints() const
void buildObjectsDependingOnTheNameTranslation(const PixelNameTranslation *aNameTranslation)
unsigned int scanValue(std::string dac, unsigned int state) const
std::map< PixelROCName, unsigned int > numROCsCalibratedOnChannel_
std::map< std::string, std::string > parametersList() const
This class specifies the settings on the TKPCIFEC and the settings on the portcard.
std::vector< std::vector< unsigned int > > cols_
std::set< unsigned int > getFEDCrates(const PixelNameTranslation *translation, const PixelFEDConfig *fedconfig) const
std::string calibFileContent_
std::set< std::pair< unsigned int, unsigned int > > pixelsWithHits(unsigned int state) const
This class stores the name and related hardware mappings for a ROC.
const std::vector< std::vector< unsigned int > > & rowList() const
std::vector< int > old_icols