CbmRoot
|
#include <CbmMuchSegmentSector.h>
Public Member Functions | |
CbmMuchSegmentSector () | |
virtual | ~CbmMuchSegmentSector () |
CbmMuchSegmentSector (TString inputFile, TString digiFileName, Int_t flag) | |
virtual InitStatus | Init () |
void | SegmentMuch () |
void | DebugSwitchOn () |
Private Member Functions | |
virtual void | SetParContainers () |
Int_t | SegmentLayerSide (CbmMuchLayerSide *layerSide) |
Int_t | SegmentModule (CbmMuchModuleGemRadial *module, Bool_t useModuleDesign) |
void | SegmentSector (CbmMuchModuleGemRadial *module, CbmMuchSectorRadial *sector) |
void | ReadInputFile () |
void | DrawSegmentation () |
void | Trim (std::string &str) |
Bool_t | IsDummyLine (std::string &str) |
void | OmitDummyLines (std::ifstream &infile, std::string &str) |
std::vector< std::string > & | Split (const std::string &s, char delim, std::vector< std::string > &elems) |
std::vector< std::string > | Split (const std::string &s, char delim) |
template<class T > | |
void | StrToNum (std::string &str, T &number) |
CbmMuchSegmentSector (const CbmMuchSegmentSector &) | |
CbmMuchSegmentSector & | operator= (const CbmMuchSegmentSector &) |
Private Attributes | |
CbmGeoMuchPar * | fGeoPar |
Int_t | fNStations |
Int_t | fFlag |
TObjArray * | fStations |
TString | fInputFileName |
TString | fDigiFileName |
std::map< Int_t, Int_t > | fNRegions |
std::map< Int_t, std::vector< Double_t > > | fRadii |
std::map< Int_t, std::vector< Double_t > > | fAngles |
std::map< Int_t, std::vector< Double_t > > | fSecLx |
std::map< Int_t, std::vector< Double_t > > | fSecLy |
std::map< Int_t, Int_t > | fNChannels |
std::map< Int_t, std::vector< Int_t > > | fNCols |
std::map< Int_t, std::vector< Int_t > > | fNRows |
Int_t | fDebug |
Definition at line 37 of file CbmMuchSegmentSector.h.
CbmMuchSegmentSector::CbmMuchSegmentSector | ( | ) |
Default constructor.
Definition at line 47 of file CbmMuchSegmentSector.cxx.
|
virtual |
Destructor.
Definition at line 91 of file CbmMuchSegmentSector.cxx.
CbmMuchSegmentSector::CbmMuchSegmentSector | ( | TString | inputFile, |
TString | digiFileName, | ||
Int_t | flag ) |
Standard constructor.
inputFile | Name of the input parameters file |
digiFileName | Name of the output file with segmentation parameters for C++11 compatible mode char* changed to TString. |
Definition at line 69 of file CbmMuchSegmentSector.cxx.
|
private |
|
inline |
Definition at line 59 of file CbmMuchSegmentSector.h.
References fDebug.
|
private |
Draw segmentation
modified for rpc
Definition at line 311 of file CbmMuchSegmentSector.cxx.
References CbmMuchSectorRadial::AddPads(), CbmMuchSectorRadial::DrawPads(), fDebug, fDigiFileName, fNRegions, fRadii, fStations, CbmMuchModule::GetDetectorType(), CbmMuchStation::GetLayer(), CbmMuchLayerSide::GetModule(), CbmMuchLayerSide::GetNModules(), CbmMuchModuleGem::GetNSectors(), CbmMuchStation::GetRmin(), CbmMuchModuleGem::GetSectorByIndex(), and CbmMuchLayer::GetSide().
Referenced by SegmentMuch().
|
virtual |
Initialization.
Definition at line 105 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fGeoPar, fNRegions, fNStations, fStations, CbmGeoMuchPar::GetStations(), ReadInputFile(), and SegmentMuch().
|
inlineprivate |
Definition at line 120 of file CbmMuchSegmentSector.h.
References Trim().
Referenced by OmitDummyLines().
|
inlineprivate |
Definition at line 126 of file CbmMuchSegmentSector.h.
References IsDummyLine().
Referenced by ReadInputFile().
|
private |
|
private |
Reads input parameters for the segmentation.
Definition at line 253 of file CbmMuchSegmentSector.cxx.
References fAngles, fInputFileName, fNRegions, fNStations, fRadii, OmitDummyLines(), Split(), and StrToNum().
Referenced by Init().
|
private |
Performs segmentation of the given layer side.
layerSide | layer side to segment |
modified for rpc
Definition at line 168 of file CbmMuchSegmentSector.cxx.
References CbmMuchModule::GetDetectorType(), CbmMuchLayerSide::GetModule(), CbmMuchLayerSide::GetNModules(), and SegmentModule().
Referenced by SegmentMuch().
|
private |
Performs segmentation of the given module.
module | Module to segment |
useModuleDesign | Whether module design is used |
Definition at line 189 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fFlag, fNRegions, fRadii, fStations, CbmMuchAddress::GetLayerIndex(), CbmMuchAddress::GetLayerSideIndex(), CbmMuchAddress::GetModuleIndex(), CbmMuchStation::GetRmax(), CbmMuchStation::GetRmin(), CbmMuchAddress::GetStationIndex(), and sqrt().
Referenced by SegmentLayerSide().
void CbmMuchSegmentSector::SegmentMuch | ( | ) |
Performs the segmentation of all stations.
Save old global file and folder pointer to avoid messing with FairRoot
Restore old global file and folder pointer to avoid messing with FairRoot
Definition at line 134 of file CbmMuchSegmentSector.cxx.
References DrawSegmentation(), fDigiFileName, fStations, CbmMuchStation::GetLayer(), CbmMuchStation::GetNLayers(), CbmMuchLayer::GetSideB(), CbmMuchLayer::GetSideF(), and SegmentLayerSide().
Referenced by Init().
|
private |
Performs segmentation of the given sector in the module.
module | Module which contains the given sector |
sector | Sector to segment |
|
privatevirtual |
Get parameter containers
Definition at line 95 of file CbmMuchSegmentSector.cxx.
References fGeoPar.
|
inlineprivate |
Definition at line 144 of file CbmMuchSegmentSector.h.
References Split().
|
inlineprivate |
Definition at line 133 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile(), and Split().
|
inlineprivate |
Definition at line 151 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile().
|
inlineprivate |
Definition at line 112 of file CbmMuchSegmentSector.h.
Referenced by IsDummyLine().
|
private |
Definition at line 71 of file CbmMuchSegmentSector.h.
Referenced by Init(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 79 of file CbmMuchSegmentSector.h.
Referenced by DebugSwitchOn(), DrawSegmentation(), Init(), and SegmentModule().
|
private |
Definition at line 67 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), and SegmentMuch().
|
private |
Definition at line 64 of file CbmMuchSegmentSector.h.
Referenced by SegmentModule().
|
private |
Definition at line 62 of file CbmMuchSegmentSector.h.
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 66 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile().
|
private |
Definition at line 76 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 77 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 68 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), Init(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 78 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 63 of file CbmMuchSegmentSector.h.
Referenced by Init(), and ReadInputFile().
|
private |
Definition at line 69 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 73 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 75 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 65 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), Init(), SegmentModule(), and SegmentMuch().