ATLAS Offline Software
Functions
MuonSimValUtils/src/MuonChambersRange.cxx File Reference
#include "MuonSimValUtils/MuonChambersRange.h"
#include <cstdlib>
Include dependency graph for MuonSimValUtils/src/MuonChambersRange.cxx:

Go to the source code of this file.

Functions

bool selectChambersRange (const std::string &f_hardware_name, const std::string &f_chamberName, int f_stationEta, int f_StationEta, int f_stationPhi, int f_StationPhi, const std::string &f_StationSize)
 

Function Documentation

◆ selectChambersRange()

bool selectChambersRange ( const std::string &  f_hardware_name,
const std::string &  f_chamberName,
int  f_stationEta,
int  f_StationEta,
int  f_stationPhi,
int  f_StationPhi,
const std::string &  f_StationSize 
)

BIM and BIR still not in!!!!

Definition at line 7 of file MuonSimValUtils/src/MuonChambersRange.cxx.

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