/// If geometry is loaded from a file, the list of aligned volume paths
/// has to be read first from volpaths.dat file.
///
-/// Author: Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
#ifndef ALI_MUON_GEOMETRY_TRANSFORMER_H
#define ALI_MUON_GEOMETRY_TRANSFORMER_H
class AliMUONGeometryTransformer : public TObject
{
public:
- AliMUONGeometryTransformer(Bool_t isOwner);
+ AliMUONGeometryTransformer(Bool_t isOwner, const TString& detName = "MUON");
AliMUONGeometryTransformer();
virtual ~AliMUONGeometryTransformer();
void AddMisAlignModule(Int_t moduleId, const TGeoHMatrix& matrix);
void AddMisAlignDetElement(Int_t detElemId, const TGeoHMatrix& matrix);
+ void AddAlignableVolumes() const;
+ TClonesArray* CreateZeroAlignmentData() const;
+ void ClearMisAlignmentData();
+
// IO
//
Bool_t ReadGeometryData(const TString& volPathFileName,
const AliMUONGeometryDetElement* GetDetElement(
Int_t detElemId, Bool_t warn = true) const;
- const TClonesArray* GetMisAlignmentData() const;
-
+ const TClonesArray* GetMisAlignmentData() const;
+
Bool_t HasDE(Int_t detElemId) const;
protected:
+ /// Not implemented
AliMUONGeometryTransformer(const AliMUONGeometryTransformer& right);
+ /// Not implemented
AliMUONGeometryTransformer& operator = (const AliMUONGeometryTransformer& right);
private:
void WriteDetElemVolPaths(ofstream& out) const;
void WriteModuleTransforms(ofstream& out) const;
void WriteDetElemTransforms(ofstream& out) const;
+
+ TString GetModuleSymName(Int_t moduleId) const;
+ TString GetDESymName(Int_t detElemId) const;
// data members
- TObjArray* fModuleTransformers; // arryy of module transformers
- TClonesArray* fMisAlignArray; // array of misalignment data
+ TString fDetectorName; ///< Detector name
+ TObjArray* fModuleTransformers; ///< array of module transformers
+ TClonesArray* fMisAlignArray; ///< array of misalignment data
ClassDef(AliMUONGeometryTransformer,2) // Geometry parametrisation
};
// inline methods
+
+/// Return the number of contained module transformers
inline Int_t AliMUONGeometryTransformer::GetNofModuleTransformers() const
{ return fModuleTransformers->GetEntriesFast(); }
+/// Return the array of misalignment data
inline const TClonesArray* AliMUONGeometryTransformer::GetMisAlignmentData() const
{ return fMisAlignArray; }