39 m_etamin(-3), m_etamax(3), m_Neta(Neta),
40 m_phimin(0), m_phimax(2*
M_PI), m_Nphi(Nphi),
41 m_grandmap( m_etamin, m_etamax, m_phimin, m_phimax,
48 std::vector< std::vector< map_element > >& tmap =
m_grandmap.payload();
59 std::vector< map_element >
row;
61 for (
int j=0 ; j<
m_Nphi ; j++ ) {
65 map_element m( tetamin, tetamax, tphimin, tphimax, empty_set );
71 tmap.push_back(
row );
91 std::vector< std::vector< map_element > >& tmap =
m_grandmap.payload();
103 if ( first_eta<0 ) first_eta = 0;
107 if ( first_phi<0 ) first_phi +=
m_Nphi;
110 if ( last_phi<0 ) last_phi +=
m_Nphi;
115 if ( first_phi<last_phi ) {
116 for (
int i=
int(first_eta) ;
i<=last_eta ;
i++ ) {
117 for (
int j=
int(first_phi) ; j<=last_phi ; j++ ) tmap[
i][j].
payload().insert(
m );
121 for (
int i=
int(first_eta) ;
i<=last_eta ;
i++ ) {
122 for (
int j=0 ; j<=
int(last_phi) ; j++ ) tmap[
i][j].
payload().insert(
m );
123 for (
int j=first_phi ; j<
m_Nphi ; j++ ) tmap[
i][j].
payload().insert(
m );
138 std::vector<IdentifierHash>& hashids,
143 std::set<EtaPhiModule> modules;
147 hashids.reserve( modules.size() );
152 while ( rpitr!=rpend ) {
153 hashids.push_back( rpitr->payload() );
168 std::set<EtaPhiModule>& modules,
169 double idradius )
const {
182 bool inmap =
m_grandmap.overlap( virtual_roi );
184 if ( !inmap )
return virtual_roi;
194 if ( first_eta<0 ) first_eta = 0;
198 if ( first_phi<0 ) first_phi +=
m_Nphi;
201 if ( last_phi<0 ) last_phi +=
m_Nphi;
204 const std::vector< std::vector< map_element > >& tmap =
map();
207 if ( first_phi<last_phi ) {
208 for (
int i=first_eta ;
i<=last_eta ;
i++ ) {
213 for (
int i=first_eta ;
i<=last_eta ;
i++ ) {