InitVolPaths();
}
+//_____________________________________________________________________________
+AliAlignObj::AliAlignObj(const char* volpath, UShort_t voluid) : TObject()
+{
+ // standard constructor
+ //
+ fVolPath=volpath;
+ fVolUID=voluid;
+}
+
+AliAlignObj::AliAlignObj(const char* volpath, ELayerID detId, Int_t volId) : TObject()
+{
+ // standard constructor
+ //
+ fVolPath=volpath;
+ SetVolUID(detId,volId);
+}
+
//_____________________________________________________________________________
AliAlignObj::AliAlignObj(const AliAlignObj& theAlignObj) :
TObject(theAlignObj)
public:
- AliAlignObj();
- AliAlignObj(const AliAlignObj& theAlignObj);
- AliAlignObj& operator= (const AliAlignObj& theAlignObj);
- AliAlignObj& operator*=(const AliAlignObj& theAlignObj);
- virtual ~AliAlignObj();
enum ELayerID{kInvalidLayer=0,
kFirstLayer=1,
kSPD1=1, kSPD2=2,
kRICH=18,
kMUON=19,
kLastLayer=20};
+ AliAlignObj();
+ AliAlignObj(const char* volpath, UShort_t voluid);
+ AliAlignObj(const char* volpath, ELayerID detId, Int_t modId);
+ AliAlignObj(const AliAlignObj& theAlignObj);
+ AliAlignObj& operator= (const AliAlignObj& theAlignObj);
+ AliAlignObj& operator*=(const AliAlignObj& theAlignObj);
+ virtual ~AliAlignObj();
//Setters
virtual void SetTranslation(Double_t x, Double_t y, Double_t z) = 0;
virtual void GetPars(Double_t transl[], Double_t rot[]) const=0;
virtual void GetMatrix(TGeoHMatrix& m) const=0;
+ Bool_t IsSortable() const {return kTRUE;}
Int_t GetLevel() const;
virtual Int_t Compare(const TObject* obj) const;
}
//_____________________________________________________________________________
-AliAlignObjAngles::AliAlignObjAngles(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi) : AliAlignObj()
+AliAlignObjAngles::AliAlignObjAngles(const char* volpath, UShort_t volUID, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi) : AliAlignObj(volpath,volUID)
{
// standard constructor with 3 translation + 3 rotation parameters
//
- fVolPath=volpath;
- fVolUID=voluid;
fTranslation[0]=x; fTranslation[1]=y; fTranslation[2]=z;
fRotation[0]=psi; fRotation[1]=theta; fRotation[2]=phi;
}
//_____________________________________________________________________________
-AliAlignObjAngles::AliAlignObjAngles(const char* volpath, ELayerID detId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global) throw (const Char_t *) : AliAlignObj()
+AliAlignObjAngles::AliAlignObjAngles(const char* volpath, ELayerID layerId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global) throw (const Char_t *) : AliAlignObj(volpath,layerId,volId)
{
// standard constructor with 3 translation + 3 rotation parameters
// If the user explicitly sets the global variable to kFALSE then the
// This requires to have a gGeoMenager active instance, otherwise the
// constructor will fail (no object created)
//
- fVolPath=volpath;
- SetVolUID(detId,volId);
if(global){
fTranslation[0]=x; fTranslation[1]=y; fTranslation[2]=z;
fRotation[0]=psi; fRotation[1]=theta; fRotation[2]=phi;
SetRotation(m);
}
+//_____________________________________________________________________________
+AliAlignObjAngles::AliAlignObjAngles(const char* volpath, ELayerID layerId, Int_t volId, TGeoMatrix& m) : AliAlignObj(volpath,layerId,volId)
+{
+ // standard constructor with TGeoMatrix
+ //
+ SetTranslation(m);
+ SetRotation(m);
+}
+
//_____________________________________________________________________________
AliAlignObjAngles::AliAlignObjAngles(const AliAlignObj& theAlignObj) :
AliAlignObj(theAlignObj)
AliAlignObjAngles(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi);
AliAlignObjAngles(const char* volpath, ELayerID detId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global=1) throw (const Char_t *);
AliAlignObjAngles(const char* volpath, UShort_t voluid, TGeoMatrix& m);
+ AliAlignObjAngles(const char* volpath, ELayerID layerId, Int_t volId, TGeoMatrix& m);
AliAlignObjAngles(const AliAlignObj& theAlignObj);
AliAlignObjAngles& operator= (const AliAlignObj& theAlignObj);
virtual ~AliAlignObjAngles();
}
//_____________________________________________________________________________
-AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi) : AliAlignObj()
+AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi) : AliAlignObj(volpath, voluid)
{
// standard constructor with 3 translation + 3 rotation parameters
//
- fVolPath=volpath;
- fVolUID=voluid;
SetTranslation(x, y, z);
SetRotation(psi, theta, phi);
}
//_____________________________________________________________________________
-AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, ELayerID detId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global) throw (const Char_t *) : AliAlignObj()
+AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, ELayerID layerId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global) throw (const Char_t *) : AliAlignObj(volpath,layerId,volId)
{
// standard constructor with 3 translation + 3 rotation parameters
// If the user explicitly sets the global variable to kFALSE then the
// This requires to have a gGeoMenager active instance, otherwise the
// constructor will fail (no object created)
//
- fVolPath=volpath;
- SetVolUID(detId,volId);
if(global){
SetTranslation(x, y, z);
SetRotation(psi, theta, phi);
//_____________________________________________________________________________
-AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, UShort_t voluid, TGeoMatrix& m) : AliAlignObj()
+AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, UShort_t volUID, TGeoMatrix& m) : AliAlignObj(volpath,volUID)
+{
+ // standard constructor with TGeoMatrix
+ //
+ SetTranslation(m);
+ SetRotation(m);
+}
+
+//_____________________________________________________________________________
+AliAlignObjMatrix::AliAlignObjMatrix(const char* volpath, ELayerID layerId, Int_t volId, TGeoMatrix& m) : AliAlignObj(volpath,layerId,volId)
{
// standard constructor with TGeoMatrix
//
- fVolPath=volpath;
- fVolUID=voluid;
SetTranslation(m);
SetRotation(m);
}
AliAlignObjMatrix(const char* volpath, UShort_t voluid, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi);
AliAlignObjMatrix(const char* volpath, ELayerID detId, Int_t volId, Double_t x, Double_t y, Double_t z, Double_t psi, Double_t theta, Double_t phi, Bool_t global=1) throw (const Char_t *);
AliAlignObjMatrix(const char* volpath, UShort_t voluid, TGeoMatrix& m);
+ AliAlignObjMatrix(const char* volpath, ELayerID layerId, Int_t volId, TGeoMatrix& m);
AliAlignObjMatrix(const AliAlignObj& theAlignObj);
AliAlignObjMatrix& operator= (const AliAlignObj& theAlignObj);
virtual ~AliAlignObjMatrix();