12 #ifndef ROOT_TGeoMatrix 13 #define ROOT_TGeoMatrix 65 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600 66 #pragma GCC diagnostic push 67 #pragma GCC diagnostic ignored "-Weffc++" 70 #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600 71 #pragma GCC diagnostic pop 160 virtual void SetDx(
Double_t dx) {SetTranslation(dx, fTranslation[1], fTranslation[2]);}
161 virtual void SetDy(
Double_t dy) {SetTranslation(fTranslation[0], dy, fTranslation[2]);}
162 virtual void SetDz(
Double_t dz) {SetTranslation(fTranslation[0], fTranslation[1], dz);}
202 void FastRotZ(
const Double_t *sincos);
227 void GetInverse(
Double_t *invmat)
const;
313 virtual void SetDx(
Double_t dx) {SetTranslation(dx, fTranslation[1], fTranslation[2]);}
314 virtual void SetDy(
Double_t dy) {SetTranslation(fTranslation[0], dy, fTranslation[2]);}
315 virtual void SetDz(
Double_t dz) {SetTranslation(fTranslation[0], fTranslation[1], dz);}
318 void SetTranslation(
Double_t *vect);
430 void FastRotZ(
const Double_t *sincos);
void SetShared(Bool_t flag=kTRUE)
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
double dist(Rotation3D const &r1, Rotation3D const &r2)
const Double_t kIdentityMatrix[3 *3]
void Print(Option_t *option="") const
print the matrix in 4x4 format
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
TGeoMatrix()
dummy constructor
TGeoMatrix & operator=(const TGeoMatrix &matrix)
Assignment operator.
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual void SetDy(Double_t dy)
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
Geometrical transformation package.
virtual const Double_t * GetScale() const
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
virtual const Double_t * GetRotationMatrix() const
TGeoMatrix & operator*(const TGeoMatrix &right) const
Multiplication.
virtual const Double_t * GetTranslation() const
virtual void SetDy(Double_t dy)
Bool_t TestBit(UInt_t f) const
virtual const Double_t * GetRotationMatrix() const =0
const Double_t kNullVector[3]
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
Convert a global point to local frame.
An identity transformation.
Most general transformation, holding a translation, a rotation and a scale.
void SetTranslation(const Double_t *vect)
virtual void SetDx(Double_t dx)
virtual void SetDz(Double_t)
Class describing translations.
virtual Double_t * GetTranslation()
virtual void MasterToLocalBomb(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual const Double_t * GetScale() const
virtual void RotateZ(Double_t)
Matrix class used for computing global transformations Should NOT be used for node definition...
virtual void SetDx(Double_t)
virtual void SetDx(Double_t dx)
virtual void SetDz(Double_t dz)
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse
const Double_t kUnitScale[3]
virtual const Double_t * GetScale() const
virtual const Double_t * GetTranslation() const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
TGeoRotation & operator=(const TGeoRotation &other)
virtual const Double_t * GetScale() const
virtual const Double_t * GetTranslation() const
virtual void Clear(Option_t *option="")
Set name and title to empty strings ("").
TGeoHMatrix & operator*=(const TGeoMatrix &matrix)
virtual void MasterToLocalBomb(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual TGeoMatrix * MakeClone() const =0
#define ClassDef(name, id)
virtual void RotateY(Double_t)
The TNamed class is the base class for all named ROOT classes.
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual void SetDz(Double_t dz)
Bool_t IsIdentity() const
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse
char * GetPointerName() const
Provide a pointer name containing uid.
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual const Double_t * GetTranslation() const
Bool_t operator==(const TGeoMatrix &other) const
Is-equal operator.
virtual void LocalToMasterBomb(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
virtual Double_t * GetScale()
virtual void SetDx(Double_t dx)
virtual const Double_t * GetRotationMatrix() const
virtual void ReflectY(Bool_t, Bool_t)
Multiply by a reflection respect to ZX.
virtual const Double_t * GetRotationMatrix() const
virtual TGeoMatrix * MakeClone() const
Make a clone of this matrix.
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
Convert a local point to the master frame.
Class describing rotation + translation.
virtual Double_t * GetRotationMatrix()
void SetDefaultName()
If no name was supplied in the ctor, the type of transformation is checked.
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse
Bool_t IsRegistered() const
virtual void RegisterYourself()
Register the matrix in the current manager, which will become the owner.
TGeoTranslation & operator=(const TGeoTranslation &other)
virtual void ReflectY(Bool_t leftside, Bool_t rotonly=kFALSE)
Multiply by a reflection respect to ZX.
static void Normalize(Double_t *vect)
Normalize a vector.
virtual const Double_t * GetTranslation() const
TGeoRotation * GetRotation() const
virtual Int_t GetByteCount() const
Get total size in bytes of this.
void GetHomogenousMatrix(Double_t *hmat) const
The homogenous matrix associated with the transformation is used for piling up's and visualization...
virtual const Double_t * GetRotationMatrix() const
virtual void LocalToMaster(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
virtual const Double_t * GetScale() const
Class describing rotations.
virtual void SetDy(Double_t dy)
Bool_t IsRotation() const
void SetScale(Double_t *scale)
void Add(THist< DIMENSIONS, PRECISION_TO, STAT_TO... > &to, const THist< DIMENSIONS, PRECISION_FROM, STAT_FROM... > &from)
Add two histograms.
virtual void ReflectZ(Bool_t leftside, Bool_t rotonly=kFALSE)
Multiply by a reflection respect to XY.
Class describing scale transformations.
virtual void MasterToLocal(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
virtual TGeoMatrix & Inverse() const =0
virtual void LocalToMasterBomb(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
virtual void ReflectZ(Bool_t, Bool_t)
Multiply by a reflection respect to XY.
virtual void ReflectX(Bool_t, Bool_t)
Multiply by a reflection respect to YZ.
TGeoCombiTrans & operator=(const TGeoCombiTrans &other)
virtual void RotateX(Double_t)
Bool_t IsReflection() const
virtual void MasterToLocalVect(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
void SetScale(const Double_t *scale)
void SetMatrix(const Double_t *rot)
TGeoHMatrix & operator=(const TGeoHMatrix &other)
virtual void SavePrimitive(std::ostream &, Option_t *="")
Save a primitive as a C++ statement(s) on output stream "out".
R__EXTERN TGeoIdentity * gGeoIdentity
virtual void SetDy(Double_t)
virtual const Double_t * GetScale() const
virtual void MasterToLocalBomb(const Double_t *master, Double_t *local) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix
void SetRotation(const Double_t *matrix)
virtual ~TGeoMatrix()
Destructor.
virtual const Double_t * GetTranslation() const
Bool_t IsTranslation() const
virtual const Double_t * GetRotationMatrix() const
virtual void ReflectX(Bool_t leftside, Bool_t rotonly=kFALSE)
Multiply by a reflection respect to YZ.
virtual TGeoMatrix * MakeClone() const
virtual void LocalToMasterBomb(const Double_t *local, Double_t *master) const
convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse
virtual const Double_t * GetScale() const
virtual const Double_t * GetTranslation() const =0
virtual void SetDz(Double_t dz)
Bool_t IsRotAboutZ() const
Returns true if no rotation or the rotation is about Z axis.
virtual const Double_t * GetScale() const =0
virtual ~TGeoTranslation()
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
virtual void LocalToMasterVect(const Double_t *local, Double_t *master) const
convert a vector by multiplying its column vector (x, y, z, 1) to matrix inverse