AliRoot Core  edcc906 (edcc906)
AliMUONGeometryModule.h
Go to the documentation of this file.
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice */
3 
4 /* $Id$ */
5 // Revision of includes 07/05/2004
6 
16 
17 #ifndef ALI_MUON_GEOMETRY_MODULE_H
18 #define ALI_MUON_GEOMETRY_MODULE_H
19 
21 
22 #include <TObject.h>
23 #include <TString.h>
24 
29 
30 class TGeoTranslation;
31 class TGeoRotation;
32 class TGeoCombiTrans;
33 class TObjArray;
34 class TArrayI;
35 
36 class AliMUONGeometryModule : public TObject
37 {
38  public:
39  AliMUONGeometryModule(Int_t moduleId);
41  virtual ~AliMUONGeometryModule();
42 
43  // set methods
44  //
45  void SetTransformation(const TGeoCombiTrans& transform);
46  void SetVolumePath(const TString& volumePath);
47  void SetIsVirtual(Bool_t isVirtual);
48 
49  void SetSensitiveVolume(Int_t volId);
50  void SetSensitiveVolume(const TString& name);
51  void SetAlign(Bool_t align);
52 
53  // get methods
54  //
55  Bool_t IsVirtual() const;
56  Int_t GetModuleId() const;
57  TString GetVolumePath() const;
58 
60  const TString& volumePath) const;
61  Bool_t IsSensitiveVolume(Int_t volId) const;
62  Bool_t IsSensitiveVolume(const TString& volName) const;
63 
67 
68  protected:
73 
74  private:
75  // methods
76  Int_t GetSVIndex(Int_t svVolId) const;
77 
78  // data members
79  Bool_t fIsVirtual;
80  Int_t fNofSVs;
82  TArrayI* fSVVolumeIds;
83 
87 
88  ClassDef(AliMUONGeometryModule,4) // MUON geometry module class
89 };
90 
91 // inline functions
92 
94 inline void AliMUONGeometryModule::SetIsVirtual(Bool_t isVirtual)
95 { fIsVirtual = isVirtual; }
96 
98 inline Bool_t AliMUONGeometryModule::IsVirtual() const
99 { return fIsVirtual; }
100 
103 { return fTransformer->GetModuleId(); }
104 
107 { return fTransformer->GetVolumePath(); }
108 
110 inline
112 { return fEnvelopes; }
113 
115 inline
117 { return fSVMap; }
118 
120 inline
122 { return fTransformer; }
123 
124 #endif //ALI_MUON_GEOMETRY_MODULE_H
void SetIsVirtual(Bool_t isVirtual)
Set virtuality (true if module is not represented by a real volume)
AliMUONStringIntMap * GetSVMap() const
Return sensitive volume map.
Geometry transformer for a detector module.
Int_t GetModuleId() const
Return module ID.
#define TObjArray
AliTPCcalibAlign align
Definition: CalibAlign.C:43
AliMUONGeometryEnvelopeStore * GetEnvelopeStore() const
Return envelopes associated with this module.
AliMUONGeometryDetElement * FindBySensitiveVolume(const TString &volumePath) const
AliMUONGeometryEnvelopeStore * fEnvelopes
envelopes
Bool_t fIsVirtual
true if module is not represented by a real volume
Int_t GetSVIndex(Int_t svVolId) const
void SetVolumePath(const TString &volumePath)
void SetSensitiveVolume(Int_t volId)
AliMUONGeometryModuleTransformer * GetTransformer() const
Return transformer.
void SetTransformation(const TGeoCombiTrans &transform)
Substitutes map <string, int> which ALICE does not allow to use.
AliMUONStringIntMap * fSVMap
sensitive volumes map
TString GetVolumePath() const
Return the full path of aligned module volume or envelope in geometry.
Store for temporary volumes envelopes.
Geometry envelope helper class.
AliMUONGeometryModule & operator=(const AliMUONGeometryModule &rhs)
Not implemented.
TString GetVolumePath() const
Return the full path of aligned module volume or envelope in geometry.
Int_t GetModuleId() const
Return module ID.
Bool_t IsVirtual() const
Return true if module is not represented by a real volume.
TArrayI * fSVVolumeIds
sensitive volumes IDs
Geometry parameters for detector module.
Class for storing detection element transformations.
Int_t fNofSVs
number of sensitive volumes
Bool_t IsSensitiveVolume(Int_t volId) const
AliMUONGeometryModuleTransformer * fTransformer
geometry transformations