CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

reco::isodeposit::Direction Class Reference

#include <IsoDepositDirection.h>

List of all members.

Classes

struct  Distance

Public Member Functions

double deltaR (const Direction &dir2) const
double deltaR2 (const Direction &dir2) const
 Direction (double eta=0., double phi=0.)
double eta () const
Direction operator+ (const Distance &relDir) const
Distance operator- (const Direction &dir2) const
bool operator== (const Direction &d2)
double phi () const
std::string print () const
double theta () const

Private Attributes

float theEta
float thePhi

Detailed Description

Definition at line 19 of file IsoDepositDirection.h.


Constructor & Destructor Documentation

reco::isodeposit::Direction::Direction ( double  eta = 0.,
double  phi = 0. 
) [inline]

Definition at line 28 of file IsoDepositDirection.h.

References M_PI, and thePhi.

Referenced by operator+().

                                                  : theEta(eta), thePhi(phi) {
        while( thePhi < 0.0 ) thePhi += 2*M_PI; 
        while( thePhi >= 2*M_PI ) thePhi -= 2*M_PI;
      };

Member Function Documentation

double reco::isodeposit::Direction::deltaR ( const Direction dir2) const [inline]
double reco::isodeposit::Direction::deltaR2 ( const Direction dir2) const [inline]
double reco::isodeposit::Direction::eta ( ) const [inline]
Direction reco::isodeposit::Direction::operator+ ( const Distance relDir) const [inline]

Definition at line 61 of file IsoDepositDirection.h.

References funct::cos(), reco::isodeposit::Direction::Distance::deltaR, Direction(), eta(), phi(), reco::isodeposit::Direction::Distance::relativeAngle, funct::sin(), theEta, and thePhi.

                                                            {
          double eta = theEta + relDir.deltaR*cos(relDir.relativeAngle);
          double phi = thePhi + relDir.deltaR*sin(relDir.relativeAngle);
          return Direction(eta,phi);
        }
Distance reco::isodeposit::Direction::operator- ( const Direction dir2) const [inline]

Definition at line 50 of file IsoDepositDirection.h.

References reco::deltaPhi(), deltaR(), reco::isodeposit::Direction::Distance::deltaR, dPhi(), eta(), phi(), reco::isodeposit::Direction::Distance::relativeAngle, query::result, theEta, and thePhi.

                                                          {
          Distance result;
          double dR    = deltaR(dir2);
          double dEta = theEta-dir2.eta();
          double dPhi = reco::deltaPhi(thePhi,dir2.phi());

          result.relativeAngle = (dR > 1.e-4) ? atan2(dPhi,dEta) : 0.;
          result.deltaR = dR;
          return result;
        }
bool reco::isodeposit::Direction::operator== ( const Direction d2) [inline]

Definition at line 37 of file IsoDepositDirection.h.

References deltaR(), and alignCSCRings::e.

                                                     {
          if ( this == &d2 ) return true;
          if ( deltaR(d2) < 1.e-4) return true;
          return false; 
        }
double reco::isodeposit::Direction::phi ( ) const [inline]
std::string reco::isodeposit::Direction::print ( void  ) const [inline]

Definition at line 67 of file IsoDepositDirection.h.

References theEta, and thePhi.

Referenced by reco::IsoDeposit::print().

                                {
          std::ostringstream str;
          str<<" (Eta="<<theEta<< "," << "Phi=" <<thePhi<<")";
          return str.str();
        }
double reco::isodeposit::Direction::theta ( ) const [inline]

Definition at line 35 of file IsoDepositDirection.h.

References theEta.

{ return acos(tanh(theEta)); } 

Member Data Documentation

Definition at line 74 of file IsoDepositDirection.h.

Referenced by eta(), operator+(), operator-(), print(), and theta().

Definition at line 75 of file IsoDepositDirection.h.

Referenced by Direction(), operator+(), operator-(), phi(), and print().