Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

IMPL::ClusterImpl Class Reference

#include <ClusterImpl.h>

Inheritance diagram for IMPL::ClusterImpl:

EVENT::Cluster IMPL::AccessChecked EVENT::LCObject lcrtrel::LCRTRelations IOIMPL::ClusterIOImpl List of all members.

Public Types

typedef Cluster lcobject_type

Public Member Functions

 ClusterImpl ()
virtual ~ClusterImpl ()
 Destructor.
virtual int id () const
virtual int getType () const
virtual float getEnergy () const
virtual const float * getPosition () const
virtual const EVENT::FloatVecgetPositionError () const
virtual float getITheta () const
virtual float getIPhi () const
virtual const EVENT::FloatVecgetDirectionError () const
virtual const EVENT::FloatVecgetShape () const
virtual const EVENT::ParticleIDVecgetParticleIDs () const
virtual const EVENT::ClusterVecgetClusters () const
virtual const EVENT::CalorimeterHitVecgetCalorimeterHits () const
virtual const EVENT::FloatVecgetHitContributions () const
virtual const EVENT::FloatVecgetSubdetectorEnergies () const
void setTypeBit (int index, bool val=true)
void setEnergy (float energy)
void setPosition (float *position)
void setPositionError (const EVENT::FloatVec &errpos)
void setPositionError (const float *errpos)
void setITheta (float theta)
void setIPhi (float phi)
void setDirectionError (const EVENT::FloatVec &errdir)
void setDirectionError (const float *errdir)
void setShape (const EVENT::FloatVec &shape)
void addParticleID (EVENT::ParticleID *pid)
void addCluster (EVENT::Cluster *cluster)
void addHit (EVENT::CalorimeterHit *hit, float contribution)
EVENT::FloatVecsubdetectorEnergies ()
virtual LCObject * clone () const
template<class V>
V::ext_type ext ()
template<class V>
V::rel_type rel ()
virtual int simpleUID () const

Protected Member Functions

void setType (int type)
template<class V>
V::ptr & ptr ()
virtual void setReadOnly (bool readOnly)
void checkAccess () throw ( EVENT::ReadOnlyException )
void checkAccess (const char *what) throw ( EVENT::ReadOnlyException )

Protected Attributes

std::bitset< 32 > _type
float _energy
float _position [3]
EVENT::FloatVec _errpos
float _theta
float _phi
EVENT::FloatVec _errdir
EVENT::FloatVec _shape
EVENT::ParticleIDVec _pid
EVENT::ClusterVec _clusters
EVENT::CalorimeterHitVec _hits
EVENT::FloatVec _weights
EVENT::FloatVec _subdetectorEnergies
bool _readOnly
int _id

Detailed Description

Implementation of Cluster.

See also:
Cluster
Author:
gaede
Version:
Id
ClusterImpl.h,v 1.13 2006/08/04 16:52:46 gaede Exp

Definition at line 24 of file ClusterImpl.h.


Member Typedef Documentation

typedef Cluster EVENT::Cluster::lcobject_type [inherited]
 

Useful typedef for template programming with LCIO

Definition at line 38 of file Cluster.h.


Constructor & Destructor Documentation

IMPL::ClusterImpl::ClusterImpl  ) 
 

Default constructor, initializes values to 0.

Definition at line 11 of file ClusterImpl.cc.

References _errdir, _errpos, _position, NERRDIR, and NERRPOS.

IMPL::ClusterImpl::~ClusterImpl  )  [virtual]
 

Destructor.

Definition at line 26 of file ClusterImpl.cc.

References _pid.


Member Function Documentation

void IMPL::ClusterImpl::addCluster EVENT::Cluster cluster  ) 
 

Definition at line 132 of file ClusterImpl.cc.

References _clusters, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::addHit EVENT::CalorimeterHit hit,
float  contribution
 

Definition at line 138 of file ClusterImpl.cc.

References _hits, and _weights.

void IMPL::ClusterImpl::addParticleID EVENT::ParticleID pid  ) 
 

Definition at line 125 of file ClusterImpl.cc.

References _pid, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOClusterHandler::read().

void IMPL::AccessChecked::checkAccess const char *  what  )  throw ( EVENT::ReadOnlyException ) [protected, inherited]
 

Definition at line 20 of file AccessChecked.cc.

void IMPL::AccessChecked::checkAccess  )  throw ( EVENT::ReadOnlyException ) [protected, inherited]
 

Definition at line 16 of file AccessChecked.cc.

Referenced by IMPL::TrackerRawDataImpl::adcValues(), IMPL::ReconstructedParticleImpl::addCluster(), addCluster(), IMPL::MCParticleImpl::addDaughter(), IMPL::SimCalorimeterHitImpl::addMCParticleContribution(), IMPL::VertexImpl::addParameter(), IMPL::ParticleIDImpl::addParameter(), IMPL::MCParticleImpl::addParent(), IMPL::ReconstructedParticleImpl::addParticle(), IMPL::ReconstructedParticleImpl::addParticleID(), addParticleID(), IMPL::TrackImpl::addTrack(), IMPL::ReconstructedParticleImpl::addTrack(), IMPL::TrackerDataImpl::chargeValues(), IMPL::TrackerHitImpl::rawHits(), IMPL::TrackerRawDataImpl::setADCValues(), IMPL::VertexImpl::setAlgorithmType(), IMPL::ParticleIDImpl::setAlgorithmType(), IMPL::RawCalorimeterHitImpl::setAmplitude(), IMPL::VertexImpl::setAssociatedParticle(), IMPL::TPCHitImpl::setCellID(), IMPL::SimTrackerHitImpl::setCellID(), IMPL::TrackerRawDataImpl::setCellID0(), IMPL::TrackerPulseImpl::setCellID0(), IMPL::TrackerDataImpl::setCellID0(), IMPL::SimCalorimeterHitImpl::setCellID0(), IMPL::RawCalorimeterHitImpl::setCellID0(), IMPL::CalorimeterHitImpl::setCellID0(), IMPL::TrackerRawDataImpl::setCellID1(), IMPL::TrackerPulseImpl::setCellID1(), IMPL::TrackerDataImpl::setCellID1(), IMPL::SimCalorimeterHitImpl::setCellID1(), IMPL::RawCalorimeterHitImpl::setCellID1(), IMPL::CalorimeterHitImpl::setCellID1(), IMPL::TrackerPulseImpl::setCharge(), IMPL::TPCHitImpl::setCharge(), IMPL::ReconstructedParticleImpl::setCharge(), IMPL::MCParticleImpl::setCharge(), IMPL::TrackerDataImpl::setChargeValues(), IMPL::VertexImpl::setChi2(), IMPL::TrackImpl::setChi2(), IMPL::VertexImpl::setCovMatrix(), IMPL::TrackImpl::setCovMatrix(), IMPL::TrackerHitImpl::setCovMatrix(), IMPL::ReconstructedParticleImpl::setCovMatrix(), IMPL::TrackImpl::setD0(), IMPL::TrackImpl::setdEdx(), IMPL::TrackerHitImpl::setdEdx(), IMPL::SimTrackerHitImpl::setdEdx(), IMPL::TrackImpl::setdEdxError(), IMPL::LCRunHeaderImpl::setDescription(), IMPL::LCRunHeaderImpl::setDetectorName(), IMPL::LCEventImpl::setDetectorName(), setDirectionError(), IMPL::MCParticleImpl::setEndpoint(), IMPL::SimCalorimeterHitImpl::setEnergy(), IMPL::ReconstructedParticleImpl::setEnergy(), setEnergy(), IMPL::CalorimeterHitImpl::setEnergy(), IMPL::LCEventImpl::setEventNumber(), IMPL::MCParticleImpl::setGeneratorStatus(), IMPL::ReconstructedParticleImpl::setGoodnessOfPID(), setIPhi(), IMPL::TrackImpl::setIsReferencePointPCA(), setITheta(), IMPL::ParticleIDImpl::setLikelihood(), IMPL::ReconstructedParticleImpl::setMass(), IMPL::MCParticleImpl::setMass(), IMPL::SimTrackerHitImpl::setMCParticle(), IMPL::SimTrackerHitImpl::setMomentum(), IMPL::ReconstructedParticleImpl::setMomentum(), IMPL::MCParticleImpl::setMomentum(), IMPL::TrackImpl::setNdf(), IMPL::TrackImpl::setOmega(), IMPL::ReconstructedParticleImpl::setParticleIDUsed(), IMPL::SimTrackerHitImpl::setPathLength(), IMPL::ParticleIDImpl::setPDG(), IMPL::MCParticleImpl::setPDG(), IMPL::TrackImpl::setPhi(), IMPL::VertexImpl::setPosition(), IMPL::TrackerHitImpl::setPosition(), IMPL::SimTrackerHitImpl::setPosition(), IMPL::SimCalorimeterHitImpl::setPosition(), setPosition(), IMPL::CalorimeterHitImpl::setPosition(), setPositionError(), IMPL::VertexImpl::setPrimary(), IMPL::VertexImpl::setProbability(), IMPL::TrackerPulseImpl::setQuality(), IMPL::TPCHitImpl::setQuality(), IMPL::TrackerPulseImpl::setQualityBit(), IMPL::TrackImpl::setRadiusOfInnermostHit(), IMPL::TPCHitImpl::setRawData(), IMPL::CalorimeterHitImpl::setRawHit(), IMPL::TrackImpl::setReferencePoint(), IMPL::ReconstructedParticleImpl::setReferencePoint(), IMPL::LCRunHeaderImpl::setRunNumber(), IMPL::LCEventImpl::setRunNumber(), setShape(), IMPL::MCParticleImpl::setSimulatorStatus(), IMPL::ReconstructedParticleImpl::setStartVertex(), IMPL::TrackImpl::setTanLambda(), IMPL::TrackerRawDataImpl::setTime(), IMPL::TrackerPulseImpl::setTime(), IMPL::TrackerHitImpl::setTime(), IMPL::TrackerDataImpl::setTime(), IMPL::TPCHitImpl::setTime(), IMPL::SimTrackerHitImpl::setTime(), IMPL::MCParticleImpl::setTime(), IMPL::CalorimeterHitImpl::setTime(), IMPL::RawCalorimeterHitImpl::setTimeStamp(), IMPL::LCEventImpl::setTimeStamp(), IMPL::TrackerPulseImpl::setTrackerData(), IMPL::TrackImpl::setType(), IMPL::TrackerHitImpl::setType(), IMPL::ReconstructedParticleImpl::setType(), IMPL::ParticleIDImpl::setType(), setType(), IMPL::CalorimeterHitImpl::setType(), IMPL::TrackImpl::setTypeBit(), setTypeBit(), IMPL::LCParametersImpl::setValue(), IMPL::LCParametersImpl::setValues(), IMPL::MCParticleImpl::setVertex(), IMPL::TrackImpl::setZ0(), subdetectorEnergies(), and IMPL::TrackImpl::subdetectorHitNumbers().

virtual LCObject* EVENT::LCObject::clone  )  const [inline, virtual, inherited]
 

Deep copy of the object. C++ implementations should return the concrete type (virtual constructor). No reasonable implementation yet. Do not use this method.

Reimplemented in IMPL::SimCalorimeterHitImpl.

Definition at line 52 of file LCObject.h.

template<class V>
V::ext_type lcrtrel::LCRTRelations::ext  )  [inline, inherited]
 

Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,...

Definition at line 430 of file LCRTRelations.h.

const EVENT::CalorimeterHitVec & IMPL::ClusterImpl::getCalorimeterHits  )  const [virtual]
 

The hits that have been combined to this cluster.

Implements EVENT::Cluster.

Definition at line 53 of file ClusterImpl.cc.

const ClusterVec & IMPL::ClusterImpl::getClusters  )  const [virtual]
 

The clusters that have been combined to this cluster.

Implements EVENT::Cluster.

Definition at line 50 of file ClusterImpl.cc.

References EVENT::ClusterVec.

const FloatVec & IMPL::ClusterImpl::getDirectionError  )  const [virtual]
 

Covariance matrix of the direction (3 Parameters)

Implements EVENT::Cluster.

Definition at line 45 of file ClusterImpl.cc.

References EVENT::FloatVec.

float IMPL::ClusterImpl::getEnergy  )  const [virtual]
 

Energy of the cluster.

Implements EVENT::Cluster.

Definition at line 40 of file ClusterImpl.cc.

const EVENT::FloatVec & IMPL::ClusterImpl::getHitContributions  )  const [virtual]
 

Returns the energy contribution of the hits Runs parallel to the CalorimeterHitVec from getCalorimeterHits()

Implements EVENT::Cluster.

Definition at line 56 of file ClusterImpl.cc.

float IMPL::ClusterImpl::getIPhi  )  const [virtual]
 

Intrinsic direction of cluster at position: Phi.

Implements EVENT::Cluster.

Definition at line 44 of file ClusterImpl.cc.

float IMPL::ClusterImpl::getITheta  )  const [virtual]
 

Intrinsic direction of cluster at position: Theta.

Implements EVENT::Cluster.

Definition at line 43 of file ClusterImpl.cc.

const EVENT::ParticleIDVec & IMPL::ClusterImpl::getParticleIDs  )  const [virtual]
 

The particle Id's sorted by their probability.

See also:
ParticleID

Implements EVENT::Cluster.

Definition at line 48 of file ClusterImpl.cc.

const float * IMPL::ClusterImpl::getPosition  )  const [virtual]
 

Position of the cluster.

Implements EVENT::Cluster.

Definition at line 41 of file ClusterImpl.cc.

const FloatVec & IMPL::ClusterImpl::getPositionError  )  const [virtual]
 

Covariance matrix of the position (6 Parameters)

Implements EVENT::Cluster.

Definition at line 42 of file ClusterImpl.cc.

References EVENT::FloatVec.

const FloatVec & IMPL::ClusterImpl::getShape  )  const [virtual]
 

Shape parameters - check/set collection parameter ClusterShapeParameters for size and names of parameters.

Implements EVENT::Cluster.

Definition at line 46 of file ClusterImpl.cc.

References EVENT::FloatVec.

const EVENT::FloatVec & IMPL::ClusterImpl::getSubdetectorEnergies  )  const [virtual]
 

A vector that holds the energy observed in a particular subdetectors. The mapping of indices to subdetectors is implementation dependent. To be used as convenient information or if hits are not stored in the data set, e.g. DST or FastMC. Check/set collection parameter ClusterSubdetectorNames for decoding the indices of the array.

Implements EVENT::Cluster.

Definition at line 59 of file ClusterImpl.cc.

int IMPL::ClusterImpl::getType  )  const [virtual]
 

Flagword that defines the type of cluster. Bits 0-15 can be used to denote the subdetectors that have contributed hits to the cluster. The definition of the bits has to be done elsewhere, e.g. in the run header. Bits 16-31 are used internally.

Implements EVENT::Cluster.

Definition at line 33 of file ClusterImpl.cc.

References _type.

virtual int IMPL::ClusterImpl::id  )  const [inline, virtual]
 

Returns an object id for internal (debugging) use in LCIO.

Implements EVENT::LCObject.

Definition at line 35 of file ClusterImpl.h.

template<class V>
V::ptr& lcrtrel::LCRTRelations::ptr  )  [inline, protected, inherited]
 

Returns the reference to the pointer to the extension/relation object

Definition at line 508 of file LCRTRelations.h.

template<class V>
V::rel_type lcrtrel::LCRTRelations::rel  )  [inline, inherited]
 

Provides read access to relations - the object types and their connectivity are defined by the class V which has to be a subtype of either LC1To1Relation, LC1ToNRelation or LCNToNRelation.

Definition at line 444 of file LCRTRelations.h.

void IMPL::ClusterImpl::setDirectionError const float *  errdir  ) 
 

Definition at line 96 of file ClusterImpl.cc.

References _errdir, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setDirectionError const EVENT::FloatVec errdir  ) 
 

Definition at line 92 of file ClusterImpl.cc.

References _errdir, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOClusterHandler::read().

void IMPL::ClusterImpl::setEnergy float  energy  ) 
 

Definition at line 68 of file ClusterImpl.cc.

References _energy, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setIPhi float  phi  ) 
 

Definition at line 88 of file ClusterImpl.cc.

References _phi, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setITheta float  theta  ) 
 

Definition at line 84 of file ClusterImpl.cc.

References _theta, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setPosition float *  position  ) 
 

Definition at line 72 of file ClusterImpl.cc.

References _position, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setPositionError const float *  errpos  ) 
 

Definition at line 80 of file ClusterImpl.cc.

References _errpos, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setPositionError const EVENT::FloatVec errpos  ) 
 

Definition at line 76 of file ClusterImpl.cc.

References _errpos, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOClusterHandler::read().

void IMPL::AccessChecked::setReadOnly bool  readOnly  )  [protected, virtual, inherited]
 

Reimplemented in IMPL::LCCollectionVec, and IMPL::LCRunHeaderImpl.

Definition at line 14 of file AccessChecked.cc.

References IMPL::AccessChecked::_readOnly.

Referenced by IMPL::LCEventImpl::setAccessMode(), and IMPL::LCCollectionVec::setReadOnly().

void IMPL::ClusterImpl::setShape const EVENT::FloatVec shape  ) 
 

Definition at line 104 of file ClusterImpl.cc.

References _shape, and IMPL::AccessChecked::checkAccess().

void IMPL::ClusterImpl::setType int  type  )  [protected]
 

Definition at line 64 of file ClusterImpl.cc.

References _type, and IMPL::AccessChecked::checkAccess().

Referenced by SIO::SIOClusterHandler::read().

void IMPL::ClusterImpl::setTypeBit int  index,
bool  val = true
 

Definition at line 143 of file ClusterImpl.cc.

References _type, and IMPL::AccessChecked::checkAccess().

virtual int IMPL::AccessChecked::simpleUID  )  const [inline, virtual, inherited]
 

Definition at line 24 of file AccessChecked.h.

EVENT::FloatVec & IMPL::ClusterImpl::subdetectorEnergies  ) 
 

To be used for modifying the subdetector energies, e.g.
clu->subdetectorEnergies().resize(3) ; clu->subdetectorEnergies()[0] = 123.4567 ; clu->subdetectorEnergies()[1] = 12.34567 ; clu->subdetectorEnergies()[2] = 1.234567 ;

Definition at line 148 of file ClusterImpl.cc.

References IMPL::AccessChecked::checkAccess().


Member Data Documentation

EVENT::ClusterVec IMPL::ClusterImpl::_clusters [protected]
 

Definition at line 152 of file ClusterImpl.h.

Referenced by addCluster(), and SIO::SIOClusterHandler::read().

float IMPL::ClusterImpl::_energy [protected]
 

Definition at line 144 of file ClusterImpl.h.

Referenced by SIO::SIOClusterHandler::read(), and setEnergy().

EVENT::FloatVec IMPL::ClusterImpl::_errdir [protected]
 

Definition at line 149 of file ClusterImpl.h.

Referenced by ClusterImpl(), and setDirectionError().

EVENT::FloatVec IMPL::ClusterImpl::_errpos [protected]
 

Definition at line 146 of file ClusterImpl.h.

Referenced by ClusterImpl(), and setPositionError().

EVENT::CalorimeterHitVec IMPL::ClusterImpl::_hits [protected]
 

Definition at line 153 of file ClusterImpl.h.

Referenced by addHit(), and SIO::SIOClusterHandler::read().

int IMPL::AccessChecked::_id [protected, inherited]
 

Definition at line 34 of file AccessChecked.h.

Referenced by IMPL::AccessChecked::AccessChecked().

float IMPL::ClusterImpl::_phi [protected]
 

Definition at line 148 of file ClusterImpl.h.

Referenced by SIO::SIOClusterHandler::read(), and setIPhi().

EVENT::ParticleIDVec IMPL::ClusterImpl::_pid [protected]
 

Definition at line 151 of file ClusterImpl.h.

Referenced by addParticleID(), and ~ClusterImpl().

float IMPL::ClusterImpl::_position[3] [protected]
 

Definition at line 145 of file ClusterImpl.h.

Referenced by ClusterImpl(), SIO::SIOClusterHandler::read(), and setPosition().

bool IMPL::AccessChecked::_readOnly [protected, inherited]
 

Definition at line 33 of file AccessChecked.h.

Referenced by IMPL::AccessChecked::setReadOnly().

EVENT::FloatVec IMPL::ClusterImpl::_shape [protected]
 

Definition at line 150 of file ClusterImpl.h.

Referenced by SIO::SIOClusterHandler::read(), and setShape().

EVENT::FloatVec IMPL::ClusterImpl::_subdetectorEnergies [protected]
 

Definition at line 155 of file ClusterImpl.h.

Referenced by SIO::SIOClusterHandler::read().

float IMPL::ClusterImpl::_theta [protected]
 

Definition at line 147 of file ClusterImpl.h.

Referenced by SIO::SIOClusterHandler::read(), and setITheta().

std::bitset<32> IMPL::ClusterImpl::_type [protected]
 

Definition at line 143 of file ClusterImpl.h.

Referenced by getType(), setType(), and setTypeBit().

EVENT::FloatVec IMPL::ClusterImpl::_weights [protected]
 

Definition at line 154 of file ClusterImpl.h.

Referenced by addHit(), and SIO::SIOClusterHandler::read().


The documentation for this class was generated from the following files:
Generated on Sun Jun 3 06:32:25 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1