31 std::vector<uint32_t> & tibDetRawIds,
32 uint32_t requested_layer,
33 uint32_t requested_bkw_frw,
34 uint32_t requested_int_ext,
35 uint32_t requested_string)
const{
37 for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
38 uint32_t therawid = (*it);
42 ( (potentialTIB.
layer()==requested_layer) || requested_layer==0 )
43 && ( ((potentialTIB.
string()).
at(0)==(requested_bkw_frw)) || requested_bkw_frw==0 )
44 && ( ((potentialTIB.
string()).
at(1)==(requested_int_ext)) || requested_int_ext==0 )
45 && ( ((potentialTIB.
string()).
at(2)==requested_string) || requested_string==0 )
47 tibDetRawIds.push_back(therawid);
55 std::vector<uint32_t> & tidDetRawIds,
56 uint32_t requested_side,
57 uint32_t requested_wheel,
58 uint32_t requested_ring,
59 uint32_t requested_ster)
const{
61 for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
62 uint32_t therawid = (*it);
66 ( (potentialTID.
side()==requested_side) || requested_side==0 )
67 && ( (potentialTID.
wheel()==requested_wheel) || requested_wheel==0 )
68 && ( (potentialTID.
ring()==requested_ring) || requested_ring==0 )
69 && ( (potentialTID.
stereo()==requested_ster) || requested_ster==0 )
71 tidDetRawIds.push_back(therawid);
79 std::vector<uint32_t> & tobDetRawIds,
80 uint32_t requested_layer,
81 uint32_t requested_bkw_frw,
82 uint32_t requested_rod)
const{
84 for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
85 uint32_t therawid = (*it);
89 ( (potentialTOB.
layer()==requested_layer) || requested_layer==0 )
90 && ( ((potentialTOB.
rod()).
at(0)==(requested_bkw_frw)) || requested_bkw_frw==0 )
91 && ( ((potentialTOB.
rod()).
at(1)==requested_rod) || requested_rod==0 )
93 tobDetRawIds.push_back(therawid);
101 std::vector<uint32_t> & tecDetRawIds,
102 uint32_t requested_side,
103 uint32_t requested_wheel,
104 uint32_t requested_petal_bkw_frw,
105 uint32_t requested_petal,
106 uint32_t requested_ring,
107 uint32_t requested_ster)
const{
109 for(vector<uint32_t>::const_iterator it = inputDetRawIds.begin(); it!=inputDetRawIds.end();it++){
110 uint32_t therawid = (*it);
114 ( (potentialTEC.
side()==requested_side) || requested_side==0 )
115 && ( (potentialTEC.
wheel()==requested_wheel) || requested_wheel==0 )
116 && ( ((potentialTEC.
petal()).
at(0)==(requested_petal_bkw_frw-1)) || requested_petal_bkw_frw==0 )
117 && ( ((potentialTEC.
petal()).
at(1)==requested_petal) || requested_petal==0 )
118 && ( (potentialTEC.
ring()==requested_ring) || requested_ring==0 )
119 && ( (potentialTEC.
stereo()==requested_ster) || requested_ster==0 )
121 tecDetRawIds.push_back(therawid);
unsigned int layer() const
layer id
virtual uint32_t stereo() const
std::vector< unsigned int > string() const
string id
unsigned int side() const
positive or negative id
std::vector< unsigned int > rod() const
rod id
std::vector< unsigned int > petal() const
petal id
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
unsigned int ring() const
ring id
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual ~SiStripSubStructure()
unsigned int side() const
positive or negative id
unsigned int wheel() const
wheel id
unsigned int layer() const
layer id
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0) const
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
unsigned int ring() const
ring id
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
unsigned int wheel() const
wheel id