fastjet::d0::ProtoJet< Item > Class Template Reference

#include <ProtoJet.hpp>

Inheritance diagram for fastjet::d0::ProtoJet< Item >:
Inheritance graph
[legend]
Collaboration diagram for fastjet::d0::ProtoJet< Item >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ProtoJet (float seedET)
 ProtoJet (float seedET, float y, float phi)
 ProtoJet (const ProtoJet< Item > &pj)
 ~ProtoJet ()
void addItem (const Item *tw)
void setJet (float y, float phi, float pT)
void updateJet ()
void erase ()
float y () const
float phi () const
float pT () const
const ConeJetInfoinfo () const
const std::list< const Item * > & LItems () const
void print (std::ostream &os) const
void NowStable ()
void splitted ()
void merged ()

Protected Attributes

std::list< const Item * > _LItems
float _y
float _phi
float _pT
ConeJetInfo _info

Detailed Description

template<class Item>
class fastjet::d0::ProtoJet< Item >

Definition at line 58 of file ProtoJet.hpp.


Constructor & Destructor Documentation

template<class Item >
fastjet::d0::ProtoJet< Item >::ProtoJet ( float  seedET  )  [inline]

Definition at line 97 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_phi, fastjet::d0::ProtoJet< Item >::_pT, and fastjet::d0::ProtoJet< Item >::_y.

00097                                      : _LItems(), _info(seedET) {
00098     _y  = 0.0;
00099     _phi= 0.0;
00100     _pT = 0.0;
00101 }

template<class Item >
fastjet::d0::ProtoJet< Item >::ProtoJet ( float  seedET,
float  y,
float  phi 
) [inline]

Definition at line 104 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_phi, fastjet::d0::ProtoJet< Item >::_pT, and fastjet::d0::ProtoJet< Item >::_y.

00104                                                        :  _LItems(), _info(seedET) { 
00105   _y  = y; 
00106   _phi= phi;
00107   _pT = 0.0;
00108 }

template<class Item >
fastjet::d0::ProtoJet< Item >::ProtoJet ( const ProtoJet< Item > &  pj  )  [inline]

Definition at line 111 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems.

00111                                                 : _y(pj._y), 
00112                                                     _phi(pj._phi), _pT(pj._pT),
00113                                                     _info(pj._info)
00114 { 
00115   typename std::list<const Item*>::const_iterator it;
00116   for(it = pj._LItems.begin(); it != pj._LItems.end(); ++it) { 
00117     _LItems.push_back(*it);
00118   }
00119 }

template<class Item>
fastjet::d0::ProtoJet< Item >::~ProtoJet (  )  [inline]

Definition at line 65 of file ProtoJet.hpp.

00065 {;}


Member Function Documentation

template<class Item >
void fastjet::d0::ProtoJet< Item >::addItem ( const Item *  tw  )  [inline]

Definition at line 122 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems.

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00122                                            {
00123   _LItems.push_back(tw);
00124 }

template<class Item >
void fastjet::d0::ProtoJet< Item >::erase (  )  [inline]

Definition at line 155 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems, fastjet::d0::ProtoJet< Item >::_phi, fastjet::d0::ProtoJet< Item >::_pT, and fastjet::d0::ProtoJet< Item >::_y.

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00155                            {
00156   _LItems.erase(_LItems.begin(),_LItems.end());
00157   _y  = 0.0;
00158   _phi= 0.0;
00159   _pT = 0.0; 
00160   // _info is not modified in order to keep split/merge history
00161 }

template<class Item >
const ConeJetInfo & fastjet::d0::ProtoJet< Item >::info (  )  const [inline]
template<class Item >
const std::list< const Item * > & fastjet::d0::ProtoJet< Item >::LItems (  )  const [inline]

Definition at line 199 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems.

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00199                                                                {
00200   return _LItems;
00201 }

template<class Item>
void fastjet::d0::ProtoJet< Item >::merged (  )  [inline]

Definition at line 85 of file ProtoJet.hpp.

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00085 {_info.merged();};

template<class Item >
void fastjet::d0::ProtoJet< Item >::NowStable (  )  [inline]
template<class Item >
float fastjet::d0::ProtoJet< Item >::phi (  )  const [inline]
template<class Item >
void fastjet::d0::ProtoJet< Item >::print ( std::ostream &  os  )  const [inline]

Definition at line 170 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems, fastjet::d0::ProtoJet< Item >::_phi, and fastjet::d0::ProtoJet< Item >::_y.

00170                                                {
00171   os<<"y phi Et = ("<<_y<<", "<<_phi<<", "<<this->_Et<<")"<<std::endl;
00172   os<< " members= " << std::endl;
00173   typename std::list<const Item*>::const_iterator i;
00174   for(i = _LItems.begin(); i != _LItems.end(); ++i)
00175     (*i)->print(os);
00176   os << std::endl;
00177 }

template<class Item >
float fastjet::d0::ProtoJet< Item >::pT (  )  const [inline]
template<class Item >
void fastjet::d0::ProtoJet< Item >::setJet ( float  y,
float  phi,
float  pT 
) [inline]

Definition at line 127 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_phi, fastjet::d0::ProtoJet< Item >::_pT, and fastjet::d0::ProtoJet< Item >::_y.

00127                                                       {
00128   _y  = y;
00129   _phi= phi;
00130   _pT = pT;
00131 }

template<class Item>
void fastjet::d0::ProtoJet< Item >::splitted (  )  [inline]

Definition at line 83 of file ProtoJet.hpp.

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00083 {_info.splitted();};

template<class Item >
void fastjet::d0::ProtoJet< Item >::updateJet (  )  [inline]

Definition at line 134 of file ProtoJet.hpp.

References fastjet::d0::ProtoJet< Item >::_LItems, fastjet::d0::ProtoJet< Item >::_phi, fastjet::d0::ProtoJet< Item >::_pT, fastjet::d0::ProtoJet< Item >::_y, fastjet::d0::P2phi(), and fastjet::d0::P2y().

Referenced by fastjet::d0::ConeSplitMerge< Item >::split_merge().

00134                                { 
00135   //float ETsum = 0.0;
00136   //float ysum  = 0.0;
00137   //float PHIsum= 0.0;
00138   float p[4] = {0.,0.,0.,0.};
00139   typename std::list<const Item*>::iterator it;
00140   for(it = _LItems.begin(); it != _LItems.end(); ++it) 
00141   {
00142     float pk[4];
00143     (*it)->p4vec(pk);
00144     //cout << "updateJet: px=" << pk[0] << " py=" << pk[1] << " pz=" << pk[2] << " E=" << pk[3] << endl; 
00145     for ( int i = 0; i < 4 ; ++i) p[i] += pk[i];
00146   }
00147   _y = P2y(p);
00148   _phi = P2phi(p);
00149   _pT = sqrt(p[0]*p[0] + p[1]*p[1]);
00150   if ( p[3] < 0. ) _pT = - _pT;
00151 
00152 }

template<class Item >
float fastjet::d0::ProtoJet< Item >::y (  )  const [inline]

Member Data Documentation

template<class Item>
ConeJetInfo fastjet::d0::ProtoJet< Item >::_info [protected]
template<class Item>
std::list<const Item*> fastjet::d0::ProtoJet< Item >::_LItems [protected]
template<class Item>
float fastjet::d0::ProtoJet< Item >::_phi [protected]
template<class Item>
float fastjet::d0::ProtoJet< Item >::_pT [protected]
template<class Item>
float fastjet::d0::ProtoJet< Item >::_y [protected]

The documentation for this class was generated from the following file:

Generated on 26 Feb 2010 for fastjet by  doxygen 1.6.1