|
ATLAS Offline Software
|
Go to the documentation of this file.
25 #include <Inventor/SoPath.h>
26 #include <Inventor/nodes/SoSeparator.h>
29 #include "CLHEP/Units/SystemOfUnits.h"
30 #include "CaloEvent/CaloCluster.h"
31 #include "CaloEvent/CaloClusterContainer.h"
36 QList<VP1CaloClusterCollection*>
cols;
97 const double dEta = 0.05;
98 const double dPhi = 0.05;
99 const double theEta =
eta();
100 const double thePhi =
phi();
130 double phi(
c->phi());
139 const bool cutval =
cut(
c);
140 if (cutval!=
c->attached()) {
183 connect(controller,SIGNAL(scaleChanged(
const QPair<bool,double>&)),
this,SLOT(
setScale(
const QPair<bool,double>&)));
191 connect(controller,SIGNAL(cutAllowedPhiChanged(
const QList<VP1Interval>&)),
this,SLOT(
setAllowedPhi(
const QList<VP1Interval>&)));
235 if (cluster->attached()&&e<cluster->energyForLengthAndCuts(
this))
236 e=cluster->energyForLengthAndCuts(
this);
267 SoSeparator *
sep =
new SoSeparator;
268 sep->setName(
"ClusterSepHelperTopSep");
290 SoNode * pickedNode = pickedPath->getNodeFromTail(0);
293 if (pickedNode->getTypeId()==SoGenericBox::getClassTypeId()) {
295 if (
c->genericBox()==pickedNode) {
296 cluster =
c->cluster();
303 if (!cluster||!clusterHandle)
304 return QStringList() <<
"Error: Collection "+
m_d->
key+
" does not have cluster information for picked node";
308 l <<
" Eta: "+
str(cluster->
eta());
309 l <<
" Phi: "+
str(cluster->
phi());
313 l <<
"(no verbose information available)";
393 #include <Inventor/nodes/SoMaterial.h>
439 bool attachPrev(cluster->
attached());
441 if (attachPrev&&cluster->
attached())
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
void assignDefaultMaterial(SoMaterial *) const
bool useTransverseEnergies() const
bool considerTransverseEnergies
void updateShapePars(VP1CaloClusterCollection::Imp *d)
Const iterator class for DataVector/DataList.
QString provideText() const
void setScale(const QPair< bool, double > &)
Scalar phi() const
phi method
double transverseEnergy() const
SoMaterial * material() const
Storable container for CaloCluster.
void setParametersForEndCapEtaPhiCell(double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact=1.0, double phisqueezefact=1.0)
void setParametersForBarrelEtaPhiCell(double etaMin, double etaMax, double phiMin, double phiMax, double cellDepth, double cellDistance, double etasqueezefact=1.0, double phisqueezefact=1.0)
void setShowVolumeOutLines(bool)
VP1Interval cutAllowedEta() const
double energyForLengthAndCuts(const VP1CaloClusterCollection::Imp *d)
double last_highestEnergy
virtual void largeChangesBegin()
QStringList infoOnClicked(SoPath *pickedPath)
static VP1CameraHelper * animatedZoomToPath(SoCamera *camera, SoGroup *sceneroot, SoPath *path, double duration_in_secs=1.0, double clipVolPercent=100.0, double slack=1.0, const SbVec3f &lookat=SbVec3f(999, 999, 999), const SbVec3f &upvec=SbVec3f(999, 999, 999), bool varySpeed=true, bool forceCircular=false)
QPair< bool, double > scale() const
const CaloCluster * cluster() const
~VP1CaloClusterCollection()
static QString str(const QString &s)
void setConsiderTransverseEnergies(bool)
double calculateHighestVisibleClusterEnergy() const
static const double calo_start_r
SoGenericBox * m_genericBox
void recheckCut(ClusterHandle *c)
bool printInfoOnClick() const
const CaloCluster * m_cluster
void setAllowedEnergies(const VP1Interval &)
VP1Interval allowedEnergies
double m_transverseEnergy
CaloClusterSysController * controller
bool cut(ClusterHandle *c)
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
SoGenericBox * genericBox()
void visibilityChanged(bool)
QList< VP1Interval > cutAllowedPhi() const
QPair< bool, double > scale
Principal data class for CaloCell clusters.
ClusterHandle(const CaloCluster *c)
static QList< VP1CaloClusterCollection * > createCollections(IVP1System *, CaloClusterSysController *)
double highestVisibleClusterEnergy() const
void attach(VP1CaloClusterCollection::Imp *d)
void highestVisibleClusterEnergyChanged()
static const double calo_start_z
IVP1System * systemBase() const
bool contains(const double &x) const
VP1CaloClusterCollection * theclass
void recheckHighestVisibleClusterEnergy()
virtual void largeChangesEnd()
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
bool printVerboseInfoOnClick() const
virtual double eta() const
Retrieve eta independent of signal state.
void detach(VP1ExtraSepLayerHelper *sh)
SoSFBool forceEdgeLinesInBaseColour
VP1Interval cutAllowedEnergies() const
SoSeparator * collSep() const
All 3D objects from this coll.
virtual double e() const
Retrieve energy independent of signal state.
QString provideSection() const
double energyToLength(const double &energy)
void setAllowedEta(const VP1Interval &)
bool showVolumeOutLines() const
QList< ClusterHandle * > clusters
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
VP1ExtraSepLayerHelper * sephelper
VP1CaloClusterCollection(const QString &key, IVP1System *sys, CaloClusterSysController *)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static const double calo_crack_eta
QList< VP1Interval > allowedPhi
void setAllowedPhi(const QList< VP1Interval > &)
virtual double phi() const
Retrieve phi independent of signal state.