56 Int_t thisLevel = level;
57 if (!thisLevel) thisLevel =
fDepth;
97 curNode = curPosition->
GetNode();
98 curPositionId = curPosition->
GetId();
100 Error(
"UpdateTempMatrix",
"No position has been defined");
107 Double_t oldTranslation[] = { 0, 0, 0 };
110 oldTranslation[0] = oldPosition->
GetX();
111 oldTranslation[1] = oldPosition->
GetY();
112 oldTranslation[2] = oldPosition->
GetZ();
124 ,curPosition->
GetX(),curPosition->
GetY(),curPosition->
GetZ()
126 ,newTranslation,newMatrix);
131 ,newTranslation[0],newTranslation[1],newTranslation[2]
135 newTranslation[0] = oldTranslation[0] + curPosition->
GetX();
136 newTranslation[1] = oldTranslation[1] + curPosition->
GetY();
137 newTranslation[2] = oldTranslation[2] + curPosition->
GetZ();
138 newPosition =
SetPositionAt(curNode,newTranslation[0],newTranslation[1],newTranslation[2]);
145 if (newPosition) newPosition->
SetId(curPositionId);
154 Int_t thisLevel = level;
155 if (!thisLevel) thisLevel =
fDepth;
158 *thisPosition = *newPosition;
176 if (position) position->
Reset(node,x,y,z,matrix);
191 if (position) *position = curPosition;
TVolumePosition * UpdateTempMatrix(TVolumePosition *curPosition)
Pick the "old" position by pieces.
virtual Double_t GetY() const
virtual UInt_t GetId() const
void ResetPosition(Int_t level=0, TVolumePosition *newPosition=0)
to be documented
Bool_t SetMatrixOwner(Bool_t ownerShips=kTRUE)
~TVolumeViewIter()
to be documented
virtual void Delete(Option_t *option="")
Remove all objects from the array AND delete all heap based objects.
virtual void Reset(TDataSet *l=0, Int_t depth=0)
to be documented
virtual Double_t GetZ() const
TObject * At(Int_t idx) const
virtual TVolumePosition * GetPosition() const
const TRotMatrix * GetMatrix() const
virtual Bool_t Notify()
This method must be overridden to handle object notification.
virtual void Reset(TDataSet *l=0, Int_t depth=0)
TDataSet *l != 0 means the new start pointer depth != 0 means the new value for the depth otherwise t...
virtual Double_t GetX(Int_t indx=0) const
Manages a detector rotation matrix.
virtual void AddAtAndExpand(TObject *obj, Int_t idx)
Add object at position idx.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual TVolumePosition * Reset(TVolume *node=0, Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
Reset this position.
virtual void SetId(UInt_t id)
THashList * GetListOfMatrices() const
virtual TVolume * GetNode() const
virtual TDataSet * operator[](const Char_t *path)
operator [] returns the pointer to the TDataSet if it does contain any data (TTable for example) ...
you should not use this method at all Int_t Int_t z
virtual void UpdateTempMatrix(Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
Update temp matrix.
virtual const TVolumePosition * GetPosition(Int_t level=0) const
to be documented
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
R__EXTERN TGeometry * gGeometry
TVolumeViewIter(TVolumeView *view, Int_t depth=1, Bool_t dir=kIterForward)
to be documented
virtual TVolumePosition * SetPositionAt(TVolume *node, Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
to be documented