ATLAS Offline Software
Classes | Static Public Member Functions | Static Public Attributes | List of all members
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, 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()

static QStringList VP1RawDataHandle_BCM_RDO::Imp::describeHit ( const BCM_RawData data,
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 (QString s : l)
61  l2 << (prefix + s);
62  return l2;
63  }

◆ 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  Query<int> Qint = pv.getId();
141  if (Qint.isValid()) {
142  bcmModLogCopyNumber = int(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 }

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:
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
VP1RawDataHandleBase::unsignedToHex
static QString unsignedToHex(unsigned)
Definition: VP1RawDataHandleBase.cxx:158
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
VP1RawDataHandle_BCM_RDO::Imp::moduleID2ModuleInfo
static std::map< int, ModuleInfo * > * moduleID2ModuleInfo
Definition: VP1RawDataHandle_BCM_RDO.cxx:116
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
VP1RawDataHandle_BCM_RDO::isHighAttenuationChannel
static bool isHighAttenuationChannel(int channelID)
Definition: VP1RawDataHandle_BCM_RDO.h:39
skel.l2
l2
Definition: skel.GENtoEVGEN.py:426
VP1JobConfigInfo::geoModelWorld
static const GeoPVConstLink * geoModelWorld()
Definition: VP1JobConfigInfo.cxx:240
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
python.selection.number
number
Definition: selection.py:20
python.changerun.pv
pv
Definition: changerun.py:81