///
/// \author Ivana Hrivnacova, IPN Orsay
-#ifndef ALI_MUON_V_GEOMETRY_BUILDER_H
-#define ALI_MUON_V_GEOMETRY_BUILDER_H
+#ifndef ALI_MUONV_GEOMETRY_BUILDER_H
+#define ALI_MUONV_GEOMETRY_BUILDER_H
#include <fstream>
class AliMUONGeometryModule;
class AliMUONGeometryEnvelopeStore;
-class AliMUONGeometryStore;
class AliMUONStringIntMap;
class AliMUONVGeometryBuilder : public TObject
{
public:
- AliMUONVGeometryBuilder(Int_t geometryModuleId1,
- Int_t geometryModuleId2 = -1,
- Int_t geometryModuleId3 = -1,
- Int_t geometryModuleId4 = -1,
- Int_t geometryModuleId5 = -1,
- Int_t geometryModuleId6 = -1);
+ AliMUONVGeometryBuilder(Int_t firstModuleId, Int_t nofModules);
AliMUONVGeometryBuilder();
virtual ~AliMUONVGeometryBuilder();
// methods
void SetReferenceFrame(const TGeoCombiTrans& referenceFrame);
void RebuildSVMaps(Bool_t withEnvelopes = true) const;
- void CreateDetElements() const;
+ void UpdateDetElements(Bool_t create) const;
/// Function to be overriden in a concrete chamber/station
/// geometry builder class.
/// usind the provided transformation.
virtual void CreateGeometry() = 0;
+ /// Function to be overriden in a concrete chamber/station
+ /// geometry class. \n
+ /// The volume name for each geometry module, its virtuality
+ /// and eventually the mother volume name should be defined
+ virtual void SetVolumes() = 0;
+
/// Function to be overriden in a concrete chamber/station
/// geometry class. \n
/// The transformation of each chamber(s) wrt ALICE
AliMUONGeometryModule* GetGeometry(Int_t moduleId) const;
AliMUONGeometryEnvelopeStore* GetEnvelopes(Int_t moduleId) const;
AliMUONStringIntMap* GetSVMap(Int_t moduleId) const;
+ Int_t GetModuleId(const TString& envName) const;
// set module transformation
void SetTranslation(Int_t moduleId,
private:
//methods
+
+ /// Not implemented
AliMUONVGeometryBuilder(const AliMUONVGeometryBuilder& rhs);
+ /// Not implemented
AliMUONVGeometryBuilder& operator = (const AliMUONVGeometryBuilder& rhs);
TGeoHMatrix ConvertTransform(const TGeoHMatrix& transform) const;
inline AliMUONGeometryModule* AliMUONVGeometryBuilder::Geometry(Int_t i) const
{ return (AliMUONGeometryModule*)fGeometryModules->At(i); }
-#endif //ALI_MUON_V_GEOMETRY_BUILDER_H
+#endif //ALI_MUONV_GEOMETRY_BUILDER_H