Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
32 #include <QStringList>
38 #include <Inventor/nodes/SoSeparator.h>
39 #include <Inventor/nodes/SoSwitch.h>
40 #include <Inventor/nodes/SoMaterial.h>
41 #include <Inventor/nodes/SoTexture2.h>
50 #include "GeoModelKernel/Units.h"
51 #define SYSTEM_OF_UNITS GeoModelKernelUnits // so we will get, e.g., 'GeoModelKernelUnits::cm'
53 #include "GaudiKernel/SystemOfUnits.h"
54 #define SYSTEM_OF_UNITS Gaudi::Units // so we will get, e.g., 'Gaudi::Units::cm'
55 #endif // BUILDVP1LIGHT
59 #if defined BUILDVP1LIGHT
70 #endif // BUILDVP1LIGHT
97 QStringList caloClusterList;
98 #endif // BUILDVP1LIGHT
149 QString safetext(
text());
150 safetext.replace(
' ',
'_');
151 safetext.replace(
'[',
'_');
152 safetext.replace(
']',
'_');
153 safetext.replace(
'/',
'_');
154 safetext.replace(
'.',
'_');
155 safetext.replace(
',',
'_');
156 safetext.replace(
'<',
'_');
157 safetext.replace(
'>',
'_');
158 safetext.replace(
'&',
'_');
256 #include <Inventor/nodes/SoMaterial.h>
289 if (cluster && cluster->has3DObjects()) {
291 cluster->updateShape(
this);
294 message(
"ERROR Handle of wrong type!");
332 connect(controller,SIGNAL(cutAllowedPhiChanged(
const QList<VP1Interval>&)),
this,SLOT(
setCutAllowedPhi(
const QList<VP1Interval>&)));
338 connect(controller,SIGNAL(scaleChanged(
const QPair<bool,double>&)),
this,SLOT(
setScale(
const QPair<bool,double>&)));
376 messageVerbose(
"CaloCluster - No collSettingsButton set! Can't call init(), so crash is imminent...");
377 throw std::runtime_error(
"CaloCluster - No collSettingsButton set!");
417 if (cluster && cluster->has3DObjects()) {
418 if (cluster->genericBox())
419 cluster->genericBox()->drawEdgeLines =
b;
421 message(
"ERROR Handle of wrong type!");
438 #if defined BUILDVP1LIGHT
450 QString errMsg =
"Failed to retrieve " +
name();
451 message(
"Error: Could not retrieve collection with key="+
name());
456 message(
"Error: Could not retrieve collection with key="+
name());
459 #endif // BUILDVP1LIGHT
465 if( ! coll->hasStore() ) {
466 message(
"No auxiliary store got associated to the CaloCluster container with key: " +
name());
479 messageDebug(
"WARNING: Ignoring null CaloCluster pointer.");
500 message(
"CaloCluster::cut() --- to be implemented......");
504 double jEnergy = handle->energyForCuts();
505 double jEnergySqr = jEnergy * jEnergy;
521 double phi = handle->phi();
543 messageVerbose(
"Not a IParticleCollHandle_CaloCluster. Calling base method...");
564 messageDebug(
"IParticleCollHandle_CaloCluster::highestVisibleClusterEnergy()");
572 messageDebug(
"IParticleCollHandle_CaloCluster::Imp::calculateHighestVisibleClusterEnergy()");
584 if (cluster && cluster->has3DObjects()) {
587 if ( e < cluster->energyForCuts() )
588 e = cluster->energyForCuts();
590 message(
"ERROR Handle of wrong type!");
614 messageDebug(
"IParticleCollHandle_CaloCluster::persistifiableState() - start...");
640 messageDebug(
"IParticleCollHandle_CaloCluster::persistifiableState() - end.");
648 des.disableUnrestoredChecks();
649 if (
des.version()!=0&&
des.version()!=1) {
650 messageDebug(
"Warning: Ignoring state with wrong version");
656 bool vis =
des.restoreBool();
660 QByteArray extraWidgetState =
des.version()>=1 ?
des.restoreByteArray() : QByteArray();
663 if (extraWidgetState!=QByteArray())
667 messageDebug(
"restoring material collection button...");
670 messageDebug(
"reset all caches storing values for cuts...");
678 str <<
"\""<<
name().toLatin1().data()<<
"\":{";
682 if (handle->visible()) {
684 str <<
"\"Clus "<<
num++<<
"\":{";
685 handle->dumpToJSON(
str);
def retrieve(aClass, aKey=None)
void setExtraWidgetsState(const QByteArray &)
static const double calo_start_r
Const iterator class for DataVector/DataList.
Scalar phi() const
phi method
SoMaterial * material() const
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
double energyToLength(const double &energy) const
virtual void init(VP1MaterialButtonBase *matBut=0)
void messageVerbose(const QString &) const
void setState(const QByteArray &)
Provide specific implementation.
IParticleCollHandle_CaloCluster(AODSysCommonData *, const QString &name, xAOD::Type::ObjectType type)
virtual void init(VP1MaterialButtonBase *button=0)
double last_highestEnergy
virtual void largeChangesBegin()
virtual ~IParticleCollHandle_CaloCluster()
const QList< VP1Interval > & getCutAllowedPhi()
static QString str(const QString &s)
virtual void dumpToJSON(std::ofstream &) const
CaloClusterCollectionSettingsButton * collSettingsButton
void recheckHighestVisibleClusterEnergy()
void messageDebug(const QString &) const
void setCutAllowedPt(const VP1Interval &)
void setCutAllowedPhi(const QList< VP1Interval > &)
const VP1Interval & getCutAllowedEta()
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
double highestVisibleClusterEnergy() const
const AODSysCommonData * common() const
QStringList getKeys() const
bool considerTransverseEnergies
QList< AODHandleBase * > getHandlesList() const
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
void highestVisibleClusterEnergyChanged()
QList< VP1Interval > allowedPhi
void visibilityChanged(bool)
void resetCachedValuesCuts()
bool contains(const std::string &s, const std::string ®x)
does a string contain the substring
void recheckCutStatusOfAllNotVisibleHandles()
QByteArray extraWidgetsState() const
void recheckCutStatusOfAllHandles()
const QString & name() const
virtual bool cut(AODHandleBase *)
virtual bool cut(AODHandleBase *)
void setCutAllowedEta(const VP1Interval &)
VP1Interval allowedEnergies
static QStringList availableCollections(IVP1System *)
IParticleCollHandle_CaloCluster * theclass
void setupSettingsFromController(const AODSystemController *)
IVP1System * systemBase() const
void showParametersChanged(bool)
static void messageVerbose(const QString &)
bool showOutlines() const
virtual void largeChangesEnd()
Interface for non-const operations on an auxiliary store.
virtual void handleIterationBegin()
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
bool isConsiderTransverseEnergy() const
QByteArray persistifiableState() const
Provide specific implementation.
void collVisibilityChanged(bool)
static void messageDebug(const QString &)
virtual void setupSettingsFromControllerSpecific(const AODSystemController *)
For extensions specific to this collection.
const VP1Interval & getCutAllowedPt()
virtual AODHandleBase * getNextHandle()
void addHandle(AODHandleBase *)
void message(const QString &) const
double calculateHighestVisibleClusterEnergy()
void update3DObjectsOfAllHandles()
static const double calo_crack_eta
VP1ExtraSepLayerHelper * sephelper
Base class for collections holding AOD objects of iParticle type Handles pt etc cuts Local data:
void recheckCutStatusOfAllVisibleHandles()
QPair< bool, double > scale
QPair< bool, double > scale() const
void setShowVolumeOutLines(bool)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
const CaloClusterCollectionSettingsButton & collSettingsButton() const
static const double calo_start_z