Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TMui1DRoadMapO Class Reference
[Interface Object Containers]

Container for MUID TMutMuiRoadO objects. More...

#include <TMui1DRoadMapO.h>

List of all members.

Public Methods

Insertors
 TMui1DRoadMapO ()
 TMui1DRoadMapO (PHKey::map_key_type map_key)
virtual ~TMui1DRoadMapO ()
iterator insert_new (UShort_t arm, UShort_t panel, UShort_t orientation)
iterator insert_new (TMui1DRoadMapO::pointer roadptr)
Extractors
iterator get (UShort_t arm)
const_iterator get (UShort_t arm) const
iterator get (UShort_t arm, UShort_t panel, UShort_t orientation)
const_iterator get (UShort_t arm, UShort_t panel, UShort_t orientation) const

Private Methods

UShort_t get_roll_count ()

Private Attributes

UShort_t _count


Detailed Description

Container for MUID TMutMuiRoadO objects.

TMutMuiRoadMapO - IOC for TMutMuiRoad objects

Definition at line 32 of file TMui1DRoadMapO.h.


Constructor & Destructor Documentation

TMui1DRoadMapO  
 

Default contructor

Definition at line 7 of file TMui1DRoadMapO.cxx.

00007 : _count(0) {;}

TMui1DRoadMapO PHKey::map_key_type    map_key
 

Construct with key

Definition at line 10 of file TMui1DRoadMapO.cxx.

00010 : PHMap<PHKey::key_type, TMui1DRoadO, TMui1DRoadO_v1>(map_key), _count(0){;}

virtual ~TMui1DRoadMapO   [inline, virtual]
 

Virtual destructor

Definition at line 48 of file TMui1DRoadMapO.h.

00048 {;}


Member Function Documentation

TMui1DRoadMapO::const_iterator get UShort_t    arm,
UShort_t    panel,
UShort_t    orientation
const
 

Get a const iterator to all roads in given arm

Definition at line 137 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key_range, and TMuiKeyGen::key_range.

00140 {
00141   // key range associated with this plane
00142   //
00143 TMuiKeyGen::key_range range = TMuiKeyGen::get_key_range(arm,
00144                                                         0,
00145                                                         panel,
00146                                                         orientation
00147                                                         );
00148   // return the iterator with specified range
00149   //
00150   Key lower(get_map_key(),range.first);
00151   Key upper(get_map_key(),range.second);
00152   return find(lower,upper);
00153 }

TMui1DRoadMapO::iterator get UShort_t    arm,
UShort_t    panel,
UShort_t    orientation
 

Get an iterator to all roads in given arm

Definition at line 117 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key_range, and TMuiKeyGen::key_range.

00120 {
00121   // key range associated with this plane
00122   //
00123 TMuiKeyGen::key_range range = TMuiKeyGen::get_key_range(arm,
00124                                                         0,
00125                                                         panel,
00126                                                         orientation
00127                                                         );
00128   // return the iterator with specified range
00129   //
00130   Key lower(get_map_key(),range.first);
00131   Key upper(get_map_key(),range.second);
00132   return find(lower,upper);
00133 }

TMui1DRoadMapO::const_iterator get UShort_t    arm const
 

Get a const iterator to all roads in given arm

Definition at line 104 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key_range, and TMuiKeyGen::key_range.

00105 {
00106   // key range associated with this plane
00107   //
00108   TMuiKeyGen::key_range range = TMuiKeyGen::get_key_range(arm);
00109   // return the iterator with specified range
00110   //
00111   Key lower(get_map_key(),range.first);
00112   Key upper(get_map_key(),range.second);
00113   return find(lower,upper);
00114 }

TMui1DRoadMapO::iterator get UShort_t    arm
 

Get an iterator to all roads in given arm

Definition at line 90 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key_range, and TMuiKeyGen::key_range.

Referenced by mMuiRoadFinder1::cut_1droads, mMuiRoadFinder1::event, and mMuiRoadFinder1::find_2droads.

00091 {
00092   // key range associated with this plane
00093   //
00094   TMuiKeyGen::key_range range = TMuiKeyGen::get_key_range(arm);
00095   // return the iterator with specified range
00096   //
00097   Key lower(get_map_key(),range.first);
00098   Key upper(get_map_key(),range.second);
00099   return find(lower,upper);
00100 }

UShort_t get_roll_count   [inline, private]
 

Definition at line 82 of file TMui1DRoadMapO.h.

References _count, and TMuiKeyGen::get_max_index.

Referenced by insert_new.

00082 { return _count++%TMuiKeyGen::get_max_index();}

TMui1DRoadMapO::iterator insert_new TMui1DRoadMapO::pointer    roadptr
 

Insert an copied TMui1DRoadO into map and return an iterator to the newly created object.

Definition at line 43 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key, TMuiKeyGen::get_key_range, TMuiKeyGen::key_range, and TMuiKeyGen::key_type.

00044 {
00045   // count the number of tracks to determine the new index
00046   //
00047   TMuiKeyGen::key_range range = TMuiKeyGen::get_key_range(roadptr->get()->get_arm(),
00048                                                           0,
00049                                                           roadptr->get()->get_panel(),
00050                                                           roadptr->get()->get_orientation()
00051                                                           );
00052   
00053   Key lower(get_map_key(),range.first);
00054   Key upper(get_map_key(),range.second);
00055   UShort_t index = find(lower,upper).count();
00056   
00057   // get the key for the new cluster
00058   //
00059   TMuiKeyGen::key_type key = TMuiKeyGen::get_key(roadptr->get()->get_arm(),
00060                                                  0, //Plane not relevant for 1D roads
00061                                                  roadptr->get()->get_panel(),
00062                                                  roadptr->get()->get_orientation(),
00063                                                  index);
00064   // full key
00065   //
00066   Key full_key(get_map_key(),key);
00067   
00068   // insert cluster
00069   //
00070   insert(full_key, new value_imp_type(full_key,roadptr->get()));
00071 
00072   // okay not so efficient
00073   //
00074   TMui1DRoadMapO::iterator thisKey = find(full_key);
00075 
00076   // Now we have to associate all clusters in the roadptr
00077   // to the one we just created.
00078   TMuiClusterMapO::key_iterator iClust = 
00079     roadptr->get()->get_associated<TMuiClusterO>();
00080   while (TMuiClusterMapO::pointer pClust = iClust.next())
00081   {
00082     PHKey::associate(thisKey.current(),pClust);
00083   }
00084 
00085   return thisKey;
00086 }

TMui1DRoadMapO::iterator insert_new UShort_t    arm,
UShort_t    panel,
UShort_t    orientation
 

Insert an new TMui1DRoadO into map and return an iterator to the newly created object.

Definition at line 13 of file TMui1DRoadMapO.cxx.

References TMuiKeyGen::get_key, get_roll_count, and TMuiKeyGen::key_type.

Referenced by mMuiRoadFinder1::find_1droads, and mMuiRoadFinder1::track_seed.

00014 {  
00015   // Get the new index from the roll count;
00016   //
00017   UShort_t index = get_roll_count();
00018   
00019   // get the key for the new cluster
00020   //
00021   TMuiKeyGen::key_type key = TMuiKeyGen::get_key(arm,
00022                                                  0, //Plane not relevant for 1D roads
00023                                                  panel,
00024                                                  orientation,
00025                                                  index);
00026   // full key
00027   //
00028   Key full_key(get_map_key(),key);
00029   
00030   // insert cluster
00031   //
00032   insert(full_key, new value_imp_type(full_key,
00033                                       arm,
00034                                       panel,
00035                                       orientation,
00036                                       index));
00037   
00038   // okay not so efficient 
00039   //
00040   return find(full_key);
00041 }


Member Data Documentation

UShort_t _count [private]
 

Definition at line 83 of file TMui1DRoadMapO.h.

Referenced by get_roll_count.


The documentation for this class was generated from the following files:
MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: