#include <TMui1DRoadMapO.h>
| 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 | 
TMutMuiRoadMapO - IOC for TMutMuiRoad objects
Definition at line 32 of file TMui1DRoadMapO.h.
| 
 | 
| Default contructor Definition at line 7 of file TMui1DRoadMapO.cxx. 
 00007 : _count(0) {;} | 
| 
 | 
| Construct with key Definition at line 10 of file TMui1DRoadMapO.cxx. 
 00010 : PHMap<PHKey::key_type, TMui1DRoadO, TMui1DRoadO_v1>(map_key), _count(0){;} | 
| 
 | 
| Virtual destructor Definition at line 48 of file TMui1DRoadMapO.h. 
 00048 {;}
 | 
| 
 | ||||||||||||||||
| 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 }
 | 
| 
 | ||||||||||||||||
| 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 }
 | 
| 
 | 
| 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 }
 | 
| 
 | 
| 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 }
 | 
| 
 | 
| 
 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();}
 | 
| 
 | 
| 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 }
 | 
| 
 | ||||||||||||||||
| 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 }
 | 
| 
 | 
| 
 Definition at line 83 of file TMui1DRoadMapO.h. Referenced by get_roll_count. | 
