9 #ifndef ERGeoComponent_H 10 #define ERGeoComponent_H 16 #include "TGeoMatrix.h" 17 #include "TGeoVolume.h" 18 #include "TGeoMedium.h" 20 #include "ERSupport.h" 26 ERGeoComponent(
const TString& name,
const TVector3& position,
const TVector3& rotation);
29 const TVector3& position,
const TVector3& rotation);
31 void SetVolumeNamePrefix(
const TString& prefix) {fVolumeName = prefix + fVolumeName;}
32 void SetPosition(
const TVector3& position) {fPosition = position; }
33 void SetRotation(
const TVector3& rotation);
35 TGeoVolume* GetVolume() {
return fVolume;}
36 const TVector3* GetPosition()
const {
return &fPosition;}
37 const TGeoRotation* GetRotation()
const {
return &fRotation;}
38 const TString& GetID()
const {
return fComponentId;}
39 const TString& GetType()
const {
return fType;}
40 const TString& GetVolumeName()
const {
return fVolumeName;}
41 virtual std::list<TString> GetBranchNames(ERDataObjectType
object)
const = 0;
42 virtual void ConstructGeometryVolume(
void) = 0;
44 virtual void ParseXmlParameters() = 0;
45 TGeoMedium* CreateMaterial(
const TString& name);
46 TGeoVolume* fVolume =
nullptr;
48 TGeoRotation fRotation;