CbmRoot
CbmGeoSetupProvider.h
Go to the documentation of this file.
1 
6 #ifndef CBMGEOSETUPPROVIDER_H
7 #define CBMGEOSETUPPROVIDER_H 1
8 
9 #include "CbmDefs.h"
10 #include "CbmGeoSetup.h"
11 #include "CbmGeoSetupModule.h"
12 #include "TObject.h"
13 #include <vector>
14 
27 public:
29  virtual ~CbmGeoSetupProvider() = default;
30 
40  void SetModuleTag(ECbmModuleId moduleId, std::string tag, Bool_t active);
41 
43  void RemoveModule(ECbmModuleId moduleId);
44 
48  void SetFieldTag(std::string tag);
49 
53  void RegisterSetup();
54 
57  void Reset();
58 
62  CbmGeoSetup& GetSetup() { return fSetup; };
63 
65  virtual std::vector<std::string> GetSetupTags() = 0;
67  virtual std::vector<std::string> GetMediaTags() = 0;
69  virtual std::vector<std::string> GetFieldTags() = 0;
70 
72  virtual CbmGeoSetup GetSetupByTag(std::string setupTag,
73  std::string revision) = 0;
76  std::string tag) = 0;
78  virtual CbmGeoSetupField GetFieldByTag(std::string tag) = 0;
80  virtual CbmGeoSetupMedia GetMediaByTag(std::string tag) = 0;
81 
84  virtual void LoadSetup(std::string setupTag, std::string revision = "") = 0;
85 
86 protected:
89 
91 
92 private:
94 };
95 
96 #endif /* CBMGEOSETUPPROVIDER_H */
CbmGeoSetupProvider::fSetup
CbmGeoSetup fSetup
Definition: CbmGeoSetupProvider.h:90
CbmGeoSetupProvider::SetModuleTag
void SetModuleTag(ECbmModuleId moduleId, std::string tag, Bool_t active)
Loads the detector with a tag into setup, will invoke GetModuleByTag.
Definition: CbmGeoSetupProvider.cxx:57
CbmGeoSetupModule.h
CbmGeoSetupProvider::GetDefaultCaveModule
CbmGeoSetupModule GetDefaultCaveModule()
Gets defauk cave if none was provided by the other means.
Definition: CbmGeoSetupProvider.cxx:175
CbmGeoSetupProvider::ClassDef
ClassDef(CbmGeoSetupProvider, 1)
underlying geometry setup representation.
CbmGeoSetupProvider::GetMediaByTag
virtual CbmGeoSetupMedia GetMediaByTag(std::string tag)=0
Abstract method for constructing the media by tag.
ECbmModuleId
ECbmModuleId
Definition: CbmDefs.h:33
CbmGeoSetupMedia
Definition: CbmGeoSetupMedia.h:19
CbmGeoSetupField
Definition: CbmGeoSetupField.h:21
CbmGeoSetupProvider::GetSetupTags
virtual std::vector< std::string > GetSetupTags()=0
Abstract method to get the list of setup tags.
CbmGeoSetupProvider::GetSetup
CbmGeoSetup & GetSetup()
Direct access to underlying geometry setup representation. Allows for fine-tuning of parameters,...
Definition: CbmGeoSetupProvider.h:62
CbmGeoSetupProvider::~CbmGeoSetupProvider
virtual ~CbmGeoSetupProvider()=default
Default destructor is necessary.
CbmGeoSetupProvider::GetSetupByTag
virtual CbmGeoSetup GetSetupByTag(std::string setupTag, std::string revision)=0
Abstract method for constructing the setup by id and tag.
CbmGeoSetupProvider::GetFieldByTag
virtual CbmGeoSetupField GetFieldByTag(std::string tag)=0
Abstract method for constructing the field by tag.
CbmGeoSetupProvider::SetFieldTag
void SetFieldTag(std::string tag)
Loads the field with a tag and adds it to the setup.
Definition: CbmGeoSetupProvider.cxx:69
CbmGeoSetup
Data transfer object to represent the CBM Detector setup.
Definition: CbmGeoSetup.h:30
CbmGeoSetupProvider::RemoveModule
void RemoveModule(ECbmModuleId moduleId)
Removes the module from setup.
Definition: CbmGeoSetupProvider.cxx:65
CbmGeoSetupProvider::GetFieldTags
virtual std::vector< std::string > GetFieldTags()=0
Abstract method to get the list of field tags.
CbmGeoSetupModule
Definition: CbmGeoSetupModule.h:22
CbmGeoSetupProvider::Reset
void Reset()
Resets the setup to default (empty)
Definition: CbmGeoSetupProvider.cxx:173
CbmGeoSetupProvider::GetMediaTags
virtual std::vector< std::string > GetMediaTags()=0
Abstract method to get the list of media tags.
CbmGeoSetupProvider::LoadSetup
virtual void LoadSetup(std::string setupTag, std::string revision="")=0
Abstract method to load the setup with a tag and revision version.
CbmGeoSetup.h
CbmGeoSetupProvider
Abstract interface class for providing the CBM detector setup description, module list,...
Definition: CbmGeoSetupProvider.h:26
CbmGeoSetupProvider::RegisterSetup
void RegisterSetup()
Registers the previously loaded setup with FairRoot. Replaces the registerSetup.C macro.
Definition: CbmGeoSetupProvider.cxx:78
CbmGeoSetupProvider::GetModuleByTag
virtual CbmGeoSetupModule GetModuleByTag(ECbmModuleId moduleId, std::string tag)=0
Abstract method for constructing the module by id and tag.
CbmDefs.h