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

CandStraightCluster Class Reference

#include <CandStraightCluster.h>

Inheritance diagram for CandStraightCluster:

CandMSTCluster CandCluster CandBase CandRefCounted List of all members.

Public Member Functions

 CandStraightCluster ()

Static Public Member Functions

CandStraightClusterHandle MakeCandidate (AlgHandle &ah, CandContext &cx)

Protected Member Functions

 CandStraightCluster (AlgHandle &ah)
 CandStraightCluster (AlgHandle &ah, CandHandle &ch, CandContext &cx)
 CandStraightCluster (const CandStraightCluster &rhs)
virtual ~CandStraightCluster ()
virtual CandStraightClusterDup () const
virtual void CreateLocalHandle ()

Protected Attributes

Float_t fDet
Int_t fFitMode
Float_t fInter
Float_t fInterErr
Float_t fSlope
Float_t fSlopeErr
Float_t fTsum
Float_t fT2sum
Float_t fTZsum
Float_t fWtSum
Float_t fZsum
Float_t fZ2sum

Friends

class CandStraightClusterHandle

Constructor & Destructor Documentation

CandStraightCluster::CandStraightCluster  ) 
 

Definition at line 35 of file CandStraightCluster.cxx.

References MSG.

Referenced by Dup(), and MakeCandidate().

00035                                          :
00036    CandMSTCluster(),
00037    fInter(0), fInterErr(0), fSlope(0), fSlopeErr(0),
00038    fTsum(0), fT2sum(0), fTZsum(0), fWtSum(0), fZsum(0), fZ2sum(0)
00039 {
00040 //
00041 //  Purpose:    Default constructor.
00042 //
00043 //  Arguments:  n/a
00044 //
00045 //  Return:     n/a
00046 //
00047 
00048 //CreateLocalHandle();       // LocalHandle is now furnished by Streamer
00049   MSG("BubCand", Msg::kVerbose)
00050     << "Begin CandStraightCluster::CandStraightCluster() ctor: " << endl
00051                                            << "UidInt = " << GetUidInt()
00052                            << ", ArchUidInt " << GetArchUidInt() << endl
00053                              << "No. of links = " << GetNLinks() << endl
00054       << "End CandStraightCluster::CandStraightCluster() ctor." << endl;
00055 }

CandStraightCluster::CandStraightCluster AlgHandle ah  )  [protected]
 

Definition at line 59 of file CandStraightCluster.cxx.

00059                                                       :
00060   CandMSTCluster(ah),
00061   fInter(0), fInterErr(0), fSlope(0), fSlopeErr(0),
00062   fTsum(0), fT2sum(0), fTZsum(0), fWtSum(0), fZsum(0), fZ2sum(0)
00063 {
00064 //
00065 //  Purpose:    Constructor for inheritance.
00066 //
00067 //  Arguments:  n/a
00068 //
00069 //  Return:     n/a
00070 //
00071 //  Note:
00072 // The sole purpose of this constructor is to transmit the AlgHandle
00073 // up the inheritance chain to CandBase without having to invoke the
00074 // full constructor of an intermediate Candidate type which the highest
00075 // level Candidate might inherit from.  One only wants to create the
00076 // LocalHandle and invoke the RunAlg() method in the lowest level class.
00077 //
00078 }

CandStraightCluster::CandStraightCluster AlgHandle ah,
CandHandle ch,
CandContext cx
[protected]
 

Definition at line 82 of file CandStraightCluster.cxx.

References CreateLocalHandle(), CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), MSG, and AlgHandle::RunAlg().

00083                                                           :
00084   CandMSTCluster(ah),
00085   fInter(0), fInterErr(0), fSlope(0), fSlopeErr(0),
00086   fTsum(0), fT2sum(0), fTZsum(0), fWtSum(0), fZsum(0), fZ2sum(0)
00087 {
00088 //
00089 //  Purpose:  Standard constructor that invokes AlgXxx::RunAlg.
00090 //
00091 //  Arguments:
00092 //    ah         in    AlgHandle pointing to Algorithm used to fill the
00093 //                     new CandStraightCluster
00094 //    ch         in    CandHandle to be set to point to the new
00095 //                     CandStraightCluster
00096 //    cx         in    CandContext containing data used to fill the new
00097 //                     CandStraightCluster
00098 //
00099 //  Return:   n/a
00100 //
00101 
00102   CreateLocalHandle();
00103   MSG("BubCand", Msg::kVerbose)
00104        << "Begin CandStraightCluster::CandStraightCluster(AlgHandle &, "
00105                         << "CandHandle &, CandContext& ) ctor: " << endl
00106                                            << "UidInt = " << GetUidInt()
00107                            << ", ArchUidInt " << GetArchUidInt() << endl
00108                              << "No. of links = " << GetNLinks() << endl
00109          << "End CandStraightCluster::CandStraightCluster(AlgHandle &, "
00110                        << "CandHandle &, CandContext& ) ctor: " << endl;
00111 
00112 // Run Algorithm to construct Candidate
00113    {                                        // Start of scope.
00114      CandStraightClusterHandle clh(this);   // clh will go out of scope
00115      ch = clh;                              // after setting ch.
00116    }                                        // End of scope.
00117    ah.RunAlg(ch, cx);
00118 }

CandStraightCluster::CandStraightCluster const CandStraightCluster rhs  )  [protected]
 

Definition at line 122 of file CandStraightCluster.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), and MSG.

00123                                                                        :
00124   CandMSTCluster(rhs),
00125   fInter(0), fInterErr(0), fSlope(0), fSlopeErr(0),
00126   fTsum(0), fT2sum(0), fTZsum(0), fWtSum(0), fZsum(0), fZ2sum(0)
00127 {
00128 //
00129 //  Purpose:  Copy constructor.
00130 //
00131 //  Arguments:
00132 //    rhs        in    CandStraightCluster to copy.
00133 //
00134 //  Return:   n/a
00135 //
00136 
00137 //CreateLocalHandle(); // Moved to Dup function following copy-ctor call
00138   MSG("BubCand", Msg::kVerbose)
00139                     << "Begin CandStraightCluster::CandStraightCluster("
00140                         << "const CandStraightCluster &) ctor: " << endl
00141                                            << "UidInt = " << GetUidInt()
00142                            << ", ArchUidInt " << GetArchUidInt() << endl
00143                              << "No. of links = " << GetNLinks() << endl
00144                       << "End CandStraightCluster::CandStraightCluster("
00145                         << "const CandStraightCluster &) ctor." << endl;
00146 }

CandStraightCluster::~CandStraightCluster  )  [protected, virtual]
 

Definition at line 150 of file CandStraightCluster.cxx.

References CandBase::GetArchUidInt(), CandRefCounted::GetNLinks(), CandBase::GetUidInt(), and MSG.

00151 {
00152 //
00153 //  Purpose:    Default destructor.
00154 //
00155 //  Arguments:  n/a
00156 //
00157 //  Return:     n/a
00158 //
00159 
00160   MSG("BubCand", Msg::kVerbose)
00161    << "Begin CandStraightCluster::~CandStraightCluster() dtor: " << endl
00162                                            << "UidInt = " << GetUidInt()
00163                            << ", ArchUidInt " << GetArchUidInt() << endl
00164                              << "No. of links = " << GetNLinks() << endl
00165      << "End CandStraightCluster::~CandStraightCluster() dtor." << endl;
00166 }


Member Function Documentation

void CandStraightCluster::CreateLocalHandle  )  [protected, virtual]
 

Reimplemented from CandMSTCluster.

Definition at line 170 of file CandStraightCluster.cxx.

References CandStraightClusterHandle, and CandBase::SetLocalHandle().

Referenced by CandStraightCluster(), and Dup().

00171 {
00172 //
00173 //  Purpose:    Standard method to set a new local
00174 //              CandStraightClusterHandle.
00175 //
00176 //  Arguments:  n/a
00177 //
00178 //  Return:     n/a
00179 //
00180 
00181   SetLocalHandle(new CandStraightClusterHandle(this));
00182 }

CandStraightCluster * CandStraightCluster::Dup  )  const [protected, virtual]
 

Reimplemented from CandMSTCluster.

Definition at line 186 of file CandStraightCluster.cxx.

References CandBase::AddDaughterLink(), CandStraightCluster(), CreateLocalHandle(), and CandBase::GetDaughterIterator().

00187 {
00188 //
00189 //  Purpose:    Standard daughter list copy method for
00190 //              CandStraightCluster.
00191 //
00192 //  Arguments:  n/a
00193 //
00194 //  Return:     Pointer to new CandStraightCluster.
00195 //
00196 //  Notes:
00197 // Base copy ctor dups owned pointers, but defers copying Daughter List.
00198 // Daughter List copy is made in the derived class Dup() function.
00199 // This is because base class copy constructor hasn't yet created
00200 // fLocalHandle with a CandHandle* of the full derived type.
00201 
00202   CandStraightCluster *cb = new CandStraightCluster(*this); // Copy-ctor
00203   cb->CreateLocalHandle();   // Initializes fLocalHandle after copy-ctor
00204   TIter iterdau = GetDaughterIterator();
00205   CandHandle *dau;
00206   while ((dau=dynamic_cast<CandHandle *>(iterdau())))
00207     cb->AddDaughterLink(*dau);
00208   return cb;
00209 }

CandStraightClusterHandle CandStraightCluster::MakeCandidate AlgHandle ah,
CandContext cx
[static]
 

Reimplemented from CandMSTCluster.

Definition at line 213 of file CandStraightCluster.cxx.

References CandStraightCluster().

Referenced by AlgThruMuon::RunAlg().

00215 {
00216 //
00217 //  Purpose:  Standard factory method to create CandStraightCluster.
00218 //
00219 //  Arguments:
00220 //    ah         in    AlgHandle pointing to Algorithm used to fill the
00221 //                     new CandStraightCluster
00222 //    cx         in    CandContext containing data used to fill the new
00223 //                     CandStraightCluster
00224 //
00225 //  Return:   CandStraightClusterHandle pointing to new
00226 //            CandStraightCluster.
00227 //
00228 
00229   CandStraightClusterHandle clh;
00230   new CandStraightCluster(ah, clh, cx);    // clh owns the new
00231                                            // CandStraightCluster
00232   return clh;
00233 }


Friends And Related Function Documentation

friend class CandStraightClusterHandle [friend]
 

Definition at line 21 of file CandStraightCluster.h.

Referenced by CreateLocalHandle().


Member Data Documentation

Float_t CandStraightCluster::fDet [protected]
 

Definition at line 47 of file CandStraightCluster.h.

Int_t CandStraightCluster::fFitMode [protected]
 

Definition at line 48 of file CandStraightCluster.h.

Referenced by CandStraightClusterHandle::GetFitTPos(), and CandStraightClusterHandle::GetFitZPos().

Float_t CandStraightCluster::fInter [protected]
 

Definition at line 49 of file CandStraightCluster.h.

Referenced by CandStraightClusterHandle::GetFitTPos(), and CandStraightClusterHandle::GetFitZPos().

Float_t CandStraightCluster::fInterErr [protected]
 

Definition at line 50 of file CandStraightCluster.h.

Float_t CandStraightCluster::fSlope [protected]
 

Definition at line 51 of file CandStraightCluster.h.

Referenced by CandStraightClusterHandle::GetFitTPos(), and CandStraightClusterHandle::GetFitZPos().

Float_t CandStraightCluster::fSlopeErr [protected]
 

Definition at line 52 of file CandStraightCluster.h.

Float_t CandStraightCluster::fT2sum [protected]
 

Definition at line 55 of file CandStraightCluster.h.

Float_t CandStraightCluster::fTsum [protected]
 

Definition at line 54 of file CandStraightCluster.h.

Float_t CandStraightCluster::fTZsum [protected]
 

Definition at line 56 of file CandStraightCluster.h.

Float_t CandStraightCluster::fWtSum [protected]
 

Definition at line 57 of file CandStraightCluster.h.

Float_t CandStraightCluster::fZ2sum [protected]
 

Definition at line 59 of file CandStraightCluster.h.

Float_t CandStraightCluster::fZsum [protected]
 

Definition at line 58 of file CandStraightCluster.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 1 15:56:03 2007 for loon by  doxygen 1.3.9.1