CMS 3D CMS Logo

Public Member Functions | Private Attributes

FiducialVolume Class Reference

#include <FiducialVolume.h>

List of all members.

Public Member Functions

void addActivePoint (const GlobalPoint &point)
 add a point that belongs to the active volume
void determinInnerDimensions ()
 FiducialVolume (double tolerance=1.0)
bool isValid () const
 check whether the volume is properly defined
double maxR (bool withTolerance=true) const
double maxZ (bool withTolerance=true) const
double minR (bool withTolerance=true) const
double minZ (bool withTolerance=true) const
void reset ()
 invalidate the volume

Private Attributes

double maxR_
double maxZ_
double minR_
double minZ_
double tolerance_

Detailed Description

The detector active volume is determined estimated as a non-zero thickness cylinder with outter dimensions maxZ and maxR. The inner dimensions are found as minimum R and Z for two cases "barrel" (|eta|<1) and "endcap" (|eta|>1.7) correspondingly

Definition at line 26 of file FiducialVolume.h.


Constructor & Destructor Documentation

FiducialVolume::FiducialVolume ( double  tolerance = 1.0) [inline]

Definition at line 28 of file FiducialVolume.h.

References reset().

                                         :
     tolerance_(tolerance) { reset(); }

Member Function Documentation

void FiducialVolume::addActivePoint ( const GlobalPoint point)

add a point that belongs to the active volume

Definition at line 25 of file FiducialVolume.cc.

References PV3DBase< T, PVType, FrameType >::eta(), maxR_, maxZ_, minR_, minZ_, PV3DBase< T, PVType, FrameType >::perp(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by DetIdAssociator::buildMap().

{
   if ( point.perp() > maxR_ )                              maxR_ = point.perp();
   if ( fabs(point.eta()) < 1 && point.perp() < minR_)      minR_ = point.perp();
   if ( fabs(point.z()) > maxZ_ )                           maxZ_ = fabs(point.z());
   if ( fabs(point.eta()) > 1.7 && fabs(point.z()) < minZ_) minZ_ = fabs(point.z());
}
void FiducialVolume::determinInnerDimensions ( )

finilize dimension calculations, fixes dimensions in a case of missing barrel or endcap

Definition at line 41 of file FiducialVolume.cc.

References maxR_, maxZ_, minR_, and minZ_.

Referenced by DetIdAssociator::buildMap().

{
   if ( maxR_ > 0 && maxR_ < minR_ ) minR_ = maxR_;
   if ( maxZ_ > 0 && maxZ_ < minZ_ ) minZ_ = maxZ_;
}
bool FiducialVolume::isValid ( void  ) const

check whether the volume is properly defined

Definition at line 20 of file FiducialVolume.cc.

References minR_, and minZ_.

Referenced by CachedTrajectory::getTrajectory().

{
   return minR_<1e4 && maxR_ >= minR_ && minZ_<1e4 && maxZ_ >= minZ_;
}
double FiducialVolume::maxR ( bool  withTolerance = true) const [inline]

Definition at line 46 of file FiducialVolume.h.

References maxR_, and tolerance_.

Referenced by DetIdAssociator::buildMap(), BetaCalculatorECAL::calcEcalDeposit(), and CachedTrajectory::getTrajectory().

     { 
       if (withTolerance) 
         return maxR_+tolerance_;
       else
         return maxR_;
     }
double FiducialVolume::maxZ ( bool  withTolerance = true) const [inline]

Definition at line 60 of file FiducialVolume.h.

References maxZ_, and tolerance_.

Referenced by DetIdAssociator::buildMap(), BetaCalculatorECAL::calcEcalDeposit(), and CachedTrajectory::getTrajectory().

     { 
       if (withTolerance)
         return maxZ_+tolerance_;
       else
         return maxZ_; 
     }
double FiducialVolume::minR ( bool  withTolerance = true) const [inline]
double FiducialVolume::minZ ( bool  withTolerance = true) const [inline]
void FiducialVolume::reset ( void  )

invalidate the volume

Definition at line 33 of file FiducialVolume.cc.

References maxR_, maxZ_, minR_, and minZ_.

Referenced by FiducialVolume().

{
   minR_ = 1e5;
   maxR_ = -1; 
   minZ_ = 1e5;
   maxZ_ = -1;
}

Member Data Documentation

double FiducialVolume::maxR_ [private]

Definition at line 69 of file FiducialVolume.h.

Referenced by addActivePoint(), determinInnerDimensions(), maxR(), and reset().

double FiducialVolume::maxZ_ [private]

Definition at line 71 of file FiducialVolume.h.

Referenced by addActivePoint(), determinInnerDimensions(), maxZ(), and reset().

double FiducialVolume::minR_ [private]

Definition at line 68 of file FiducialVolume.h.

Referenced by addActivePoint(), determinInnerDimensions(), isValid(), minR(), and reset().

double FiducialVolume::minZ_ [private]

Definition at line 70 of file FiducialVolume.h.

Referenced by addActivePoint(), determinInnerDimensions(), isValid(), minZ(), and reset().

double FiducialVolume::tolerance_ [private]

Definition at line 72 of file FiducialVolume.h.

Referenced by maxR(), maxZ(), minR(), and minZ().