20 #ifndef ROOT_TVolumePosition
21 #define ROOT_TVolumePosition
36 void DeleteOwnMatrix();
47 virtual void Browse(TBrowser *b);
48 virtual Float_t *
Errmx2Local (
const Float_t *masterError, Float_t *localError )
const;
49 virtual Double_t *
Errmx2Local (
const Double_t *masterError, Double_t *localError)
const;
50 virtual Float_t *
Errmx2Master(
const Float_t *localError, Float_t *masterError )
const;
51 virtual Double_t *
Errmx2Master(
const Double_t *localError, Double_t *masterError)
const;
52 virtual Double_t *
Cormx2Local (
const Double_t *masterCorr, Double_t *localCorr )
const;
53 virtual Float_t *
Cormx2Local (
const Float_t *masterCorr, Float_t *localCorr )
const;
54 virtual Double_t *
Cormx2Master(
const Double_t *localCorr, Double_t *masterCorr )
const;
55 virtual Float_t *
Cormx2Master(
const Float_t *localCorr, Float_t *masterCorr )
const;
56 virtual Double_t *
Master2Local(
const Double_t *master, Double_t *local,Int_t nPoints=1)
const;
57 virtual Float_t *
Master2Local(
const Float_t *master, Float_t *local,Int_t nPoints=1)
const;
61 virtual void Draw(Option_t *depth=
"3");
62 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
63 virtual TVolume *GetNode()
const {
return fNode;}
65 const Option_t *GetOption()
const {
return GetNode()?GetNode()->GetOption():0;}
66 virtual const Char_t *
GetName()
const;
67 const TRotMatrix *GetMatrix()
const;
68 TRotMatrix *GetMatrix();
70 Int_t GetVisibility()
const {
return GetNode()?GetNode()->GetVisibility():0;}
71 virtual Double_t GetX(Int_t indx=0)
const {
return fX[indx];}
72 virtual const Double_t *GetXYZ()
const {
return fX;}
73 virtual Double_t GetY()
const {
return fX[1];}
74 virtual Double_t GetZ()
const {
return fX[2];}
75 virtual UInt_t GetId()
const {
return fId;}
76 Bool_t IsMatrixOwner()
const;
77 Bool_t SetMatrixOwner(Bool_t ownerShips=kTRUE);
78 Bool_t IsFolder()
const {
return GetNode()?kTRUE:kFALSE;}
79 virtual Bool_t Is3D()
const {
return kTRUE;}
80 virtual Double_t *
Local2Master(
const Double_t *local, Double_t *master,Int_t nPoints=1)
const;
81 virtual Float_t *
Local2Master(
const Float_t *local, Float_t *master,Int_t nPoints=1)
const;
83 virtual void Paint(Option_t *option=
"");
84 virtual void Print(Option_t *option=
"")
const;
87 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
89 virtual void SetMatrix(TRotMatrix *matrix=0);
90 virtual void SetNode(
TVolume *node){ fNode = node;}
91 virtual void SetPosition( Double_t x=0, Double_t y=0, Double_t z=0) {fX[0]=x; fX[1]=y; fX[2]=z;}
93 virtual void SetX(Double_t x){ fX[0] = x;}
94 virtual void SetY(Double_t y){ fX[1] = y;}
95 virtual void SetZ(Double_t z){ fX[2] = z;}
96 virtual void SetXYZ(Double_t *xyz = 0);
97 virtual void SetId(UInt_t
id){fId = id;}
103 inline TDataSet *TVolumePosition::DefineSet(){
return GetNode(); }
105 inline void TVolumePosition::DeleteOwnMatrix()
107 if (IsMatrixOwner()) {
108 TRotMatrix *erasing = fMatrix;
114 inline TRotMatrix *TVolumePosition::GetMatrix()
117 inline const TRotMatrix *TVolumePosition::GetMatrix()
const
120 inline Bool_t TVolumePosition::SetMatrixOwner(Bool_t ownerShips)
122 Bool_t currentOwner = IsMatrixOwner();
123 SetBit(kIsOwn,ownerShips);
127 inline Bool_t TVolumePosition::IsMatrixOwner()
const
132 return TestBit(kIsOwn);
137 for (
int i = 0; i < 3; i++) fX[i] = rhs.fX[i];
138 fMatrix = rhs.fMatrix;
145 std::ostream& operator<<(std::ostream& s,
const TVolumePosition &target);
virtual void Browse(TBrowser *b)
to be documented
virtual void Draw(Option_t *depth="3")
Draw Referenced node with current parameters.
virtual Double_t * Cormx2Master(const Double_t *localCorr, Double_t *masterCorr) const
to be documented
virtual Float_t * Errmx2Master(const Float_t *localError, Float_t *masterError) const
to be documented
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual void SetXYZ(Double_t *xyz=0)
to be documented
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
to be documented
virtual Double_t * Local2Master(const Double_t *local, Double_t *master, Int_t nPoints=1) const
virtual ~TVolumePosition()
to be documented
virtual void SetVisibility(Int_t vis=1)
to be documented
virtual Double_t * Cormx2Local(const Double_t *masterCorr, Double_t *localCorr) const
to be documented
virtual char * GetObjectInfo(Int_t px, Int_t py) const
to be documented
virtual void SetLineAttributes()
to be documented
virtual void SetMatrix(TRotMatrix *matrix=0)
to be documented
TVolumePosition(TVolume *node=0, Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
virtual void UpdatePosition(Option_t *option="")
to be documented
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual TVolumePosition * Reset(TVolume *node=0, Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
virtual Double_t * Master2Local(const Double_t *master, Double_t *local, Int_t nPoints=1) const
virtual Float_t * Errmx2Local(const Float_t *masterError, Float_t *localError) const
to be documented
virtual void Print(Option_t *option="") const
to be documented
virtual void Paint(Option_t *option="")
Paint Referenced node with current parameters.
virtual const Char_t * GetName() const
return VolumePosition name