ATLAS Offline Software
Loading...
Searching...
No Matches
VP1RawDataHandle_BCM_RDO::Imp Class Reference
Collaboration diagram for VP1RawDataHandle_BCM_RDO::Imp:

Classes

class  ModuleInfo

Static Public Member Functions

static QStringList describeHit (const BCM_RawData *data, const QString &prefix="")
static void ensureInitModuleInfo ()

Static Public Attributes

static std::map< int, ModuleInfo * > * moduleID2ModuleInfo = 0

Detailed Description

Definition at line 42 of file VP1RawDataHandle_BCM_RDO.cxx.

Member Function Documentation

◆ describeHit()

QStringList VP1RawDataHandle_BCM_RDO::Imp::describeHit ( const BCM_RawData * data,
const QString & prefix = "" )
inlinestatic

Definition at line 44 of file VP1RawDataHandle_BCM_RDO.cxx.

45 {
46 QStringList l;
47 l << "Word1: " + VP1RawDataHandleBase::unsignedToHex(data->getWord1());
48 l << "Word2: " + VP1RawDataHandleBase::unsignedToHex(data->getWord2());
49 l << "Channel ID [0-15]: " + QString::number(data->getChannel())+" ("+QString(isHighAttenuationChannel(data->getChannel())?"High":"Low")+" attenuation channel)";
50 l << "Position of first pulse [0-63]: " + QString::number(data->getPulse1Position());
51 l << "Width of first pulse [0-31]: " + QString::number(data->getPulse1Width());
52 l << "Position of second pulse [0-63]: " + QString::number(data->getPulse2Position());
53 l << "Width of second pulse [0-31]: " + QString::number(data->getPulse2Width());
54 l << "Level one accept [0-63]: " + QString::number(data->getLVL1A());
55 l << "Bunch crossing ID [0-4096]: " + QString::number(data->getBCID());
56 l << "Level 1 ID [0+]: " + QString::number(data->getLVL1ID());
57 if (prefix.isEmpty())
58 return l;
59 QStringList l2;
60 for (const QString& s : l)
61 l2 << (prefix + s);
62 return l2;
63 }
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
static QString unsignedToHex(unsigned)
static bool isHighAttenuationChannel(int channelID)
l
Printing final latex table to .tex output file.

◆ ensureInitModuleInfo()

void VP1RawDataHandle_BCM_RDO::Imp::ensureInitModuleInfo ( )
static

Definition at line 123 of file VP1RawDataHandle_BCM_RDO.cxx.

124{
126 return;
127
128 Imp::moduleID2ModuleInfo = new std::map<int,ModuleInfo*>;//Fixme: Gives valgrind problems!
129 const GeoPVConstLink * world = VP1JobConfigInfo::geoModelWorld();
130 if (world) {
131 GeoVolumeCursor av(*world);
132 while (!av.atEnd()) {
133 if (av.getName()=="Pixel") {
134 Amg::Transform3D tr_pix = av.getTransform();
135 GeoVolumeCursor pv(av.getVolume());
136 while (!pv.atEnd()) {
137 int bcmModLogCopyNumber(-1);
138 if (pv.getVolume()->getLogVol()->getName()=="bcmModLog") {
139 Amg::Transform3D tr_bcmmod = pv.getTransform();
140 std::optional<int> Qint = pv.getId();
141 if (Qint) {
142 bcmModLogCopyNumber = *Qint;
143 ModuleInfo * modInfo = new ModuleInfo(bcmModLogCopyNumber - 951);
144 GeoVolumeCursor bv(pv.getVolume());
145 while (!bv.atEnd()) {
146 if (bv.getVolume()->getLogVol()->getName()=="bcmDiamondLog") {
147 Amg::Transform3D tr_diamond(bv.getTransform());
148 const GeoBox * box = bv.getVolume()->getLogVol()->getShape()->typeID()==GeoBox::getClassTypeID() ?
149 static_cast<const GeoBox*>(bv.getVolume()->getLogVol()->getShape()) : 0;
150 modInfo->addBox(tr_pix*tr_bcmmod*tr_diamond,box);
151 }
152 bv.next();
153 }//end bcm mod loop
154 (*moduleID2ModuleInfo)[modInfo->moduleID()] = modInfo;
155 }
156 }
157 pv.next();
158 }//end pixel loop
159 }
160 av.next();
161 }//end world loop
162 }
163}
static const GeoPVConstLink * geoModelWorld()
static std::map< int, ModuleInfo * > * moduleID2ModuleInfo
Eigen::Affine3d Transform3D

Member Data Documentation

◆ moduleID2ModuleInfo

std::map< int, VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo * > * VP1RawDataHandle_BCM_RDO::Imp::moduleID2ModuleInfo = 0
static

Definition at line 116 of file VP1RawDataHandle_BCM_RDO.cxx.


The documentation for this class was generated from the following file: