5#ifndef CALOIDENTIFIER_CALONEIGHBOURS_H
6#define CALOIDENTIFIER_CALONEIGHBOURS_H
35 return ((
unsigned int)id1) < ((
unsigned int)
id2);
43 enum {
SIDE = 2,
SAMPL = 3,
REGION = 4,
ETA = 5,
PHI = 6,
TILESECTION = 1,
TILEPHI = 3,
TILEETA = 4,
TILESAMPL = 5,
FCALETA = 4,
FCALPHI = 5};
53 void setSide(
const int side1,
const int side2);
54 void setPhi(
const int phi1,
const int phi2);
65 inline const std::string&
getName()
const {
109 const std::vector<std::unique_ptr<CaloNeighbourRegion> > &
regions,
110 std::vector<IdentifierHash>& neighbourList) ;
static const std::vector< std::string > regions
Helper base class for offline cell identifiers.
NEIGHBOURTYPE getType() const
std::vector< std::unique_ptr< std::vector< IdentifierHash > > > m_neighbours_minus
CaloNeighbourRegion(const std::string &name, const CaloCell_Base_ID *theCaloId)
void initializeVectors(std::map< IdentifierHash, std::vector< IdentifierHash >, ltIdHash > &neighbourMapPlus, std::map< IdentifierHash, std::vector< IdentifierHash >, ltIdHash > &neighbourMapMinus)
void setSourceRange(const Range &theRange)
IdentifierHash m_maxHashPlus
virtual ~CaloNeighbourRegion()
IdentifierHash m_minHashPlus
int getNeighbours(const IdentifierHash caloHash, std::vector< IdentifierHash > &neighbourList) const
IdentifierHash m_maxHashMinus
const std::string & getName() const
int getId(ExpandedIdentifier &id, Identifier &rID, const Range &theRange, const int side=+1, const int dphi=0) const
void setTargetRange(const Range &theRange)
void setType(const NEIGHBOURTYPE type)
void setPhi(const int phi1, const int phi2)
void setSide(const int side1, const int side2)
IdentifierHash m_minHashMinus
const CaloCell_Base_ID * m_calo_id
int setNeighbours(ExpandedIdentifier &id1, std::vector< ExpandedIdentifier > &id2, std::map< IdentifierHash, std::vector< IdentifierHash >, ltIdHash > &neighbourMapPlus, std::map< IdentifierHash, std::vector< IdentifierHash >, ltIdHash > &neighbourMapMinus)
std::vector< std::unique_ptr< std::vector< IdentifierHash > > > m_neighbours_plus
std::vector< std::unique_ptr< CaloNeighbourRegion > > m_next_regions
virtual ~CaloNeighbours()
std::vector< std::unique_ptr< CaloNeighbourRegion > > m_prev_regions
int get_nextInCalo(const IdentifierHash &id, std::vector< IdentifierHash > &neighbourList) const
int get_prevInCalo(const IdentifierHash &id, std::vector< IdentifierHash > &neighbourList) const
const CaloCell_Base_ID * m_calo_id
static int get_neighbours(const IdentifierHash &id, const std::vector< std::unique_ptr< CaloNeighbourRegion > > ®ions, std::vector< IdentifierHash > &neighbourList)
This is a "hash" representation of an Identifier.
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
bool operator()(const IdentifierHash &id1, const IdentifierHash &id2) const