ATLAS Offline Software
Functions
MuonChambersRange.h File Reference
#include <string>
Include dependency graph for MuonChambersRange.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool selectChambersRange (const std::string &, const std::string &, int, int, int, int, const std::string &)
 

Function Documentation

◆ selectChambersRange()

bool selectChambersRange ( const std::string &  ,
const std::string &  ,
int  ,
int  ,
int  ,
int  ,
const std::string &   
)

Definition at line 8 of file MuonChambersRange.cxx.

12 {
13  bool pass=false;
14  std::string size="XXX";
15  int f_StationPhi_check=f_StationPhi;
16  int f_StationEta_check=f_StationEta;
17  std::string::size_type small_chamber = f_hardware_name.find( 'S', 0 );
18  std::string::size_type feet_chamber = f_hardware_name.find( 'F', 0 );
19  std::string::size_type ground_chamber = f_hardware_name.find( 'G', 0 );
20  std::string::size_type large_chamber = f_hardware_name.find( 'L', 0 );
21  //BIM and BIR still not in!!!!
22 
23  if (small_chamber != std::string::npos) {
24  size="S";
25  if (f_StationPhi!=-100 && f_StationPhi!=1 && (f_StationPhi%2)==0) {f_StationPhi_check=(f_StationPhi/2);}
26  else if (f_StationPhi==-100) {f_StationPhi_check=-100;}
27  else {f_StationPhi_check=-99;}
28  }
29  if (feet_chamber != std::string::npos) {
30  size="S";
31  if (f_StationPhi!=-100 && f_StationPhi!=1 && (f_StationPhi%2)==0) {f_StationPhi_check=(f_StationPhi/2);}
32  else if (f_StationPhi==-100) {f_StationPhi_check=-100;}
33  else {f_StationPhi_check=-99;}
34  if (f_StationEta!=-100 && (f_StationEta%2)!=0) {f_StationEta_check=(f_StationEta/2)+1;}
35  else if (f_StationEta==-100) {f_StationEta_check=-100;}
36  else {f_StationEta_check=-99;}
37  }
38  if (ground_chamber != std::string::npos) {
39  size="S";
40  if (f_StationPhi!=-100 && f_StationPhi!=1 && (f_StationPhi%2)==0) {f_StationPhi_check=(f_StationPhi/2);}
41  else if (f_StationPhi==-100) {f_StationPhi_check=-100;}
42  else {f_StationPhi_check=-99;}
43  if (f_StationEta!=-100 && (f_StationEta%2)==0) {f_StationEta_check=(f_StationEta/2);}
44  else if (f_StationEta==-100) {f_StationEta_check=-100;}
45  else {f_StationEta_check=-99;}
46  }
47  if (large_chamber != std::string::npos) {
48  size="L";
49  if (f_StationPhi==1) {f_StationPhi_check=1;}
50  else if (f_StationPhi!=-100 && f_StationPhi!=1 && (f_StationPhi%2)!=0) {f_StationPhi_check=(f_StationPhi/2)+1;}
51  else if (f_StationPhi==-100) {f_StationPhi_check=-100;}
52  else {f_StationPhi_check=-99;}
53  }
54  if ((f_chamberName=="XXX" || f_chamberName==f_hardware_name)
55  && (f_StationEta_check==f_stationEta || f_StationEta_check==-100)
56  && (f_StationPhi_check==f_stationPhi || f_StationPhi_check==-100)
57  && (f_StationSize=="XXX" || f_StationSize==size) ){pass=true;}
58 
59  return pass;
60 }
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39