86 Int_t l=fName.Length();
90 sscanf(s.Data(),
"%i",&
n);
113 cout<<((
const Char_t*)fName)<<
'\n';
115 else cout<<
"-- unknown mother --\n";
118 else cout<<
"-- unknown shape --\n";
120 else cout<<
"-- unknown medium --\n";
122 else cout<<
"-- no points --\n";
126 cout<<
"//----------------------------------------------------------\n";
131 fout<<fName.Data()<<
'\n';
134 Error(
"write",
"Unknown mother for %s\n",fName.Data());
140 Error(
"write",
"Unknown shape for %s\n",fName.Data());
145 Error(
"write",
"Unknown medium for %s\n",fName.Data());
150 Error(
"write",
"No points for %s\n",fName.Data());
157 fout<<v(0)<<
" "<<v(1)<<
" "<<v(2)<<
'\n';
159 for(Int_t i=0;i<9;i++) fout<<r(i)<<
" ";
161 fout<<
"//----------------------------------------------------------\n";
167 TList* tree=
new TList();
172 if (mother) tree->Add(mother);
189 Error(
"calcLabTransform()",
"Mother volume of %s not found!",GetName());
195 Error(
"calcLabTransform()",
196 "Lab Transformation of mother volume of %s not found!",GetName());
211 Error(
"calcLabTransform()",
"Mother volume of %s not found!",GetName());
217 Error(
"calcLabTransform()",
218 "Lab Transformation of mother volume of %s not found!",GetName());
234 Error(
"calcModuleTransform",
"Mother volume of %s not found!",node->GetName());
252 Error(
"calcModuleTransform",
"Mother volume %s not found!",node->GetName());
263 Int_t diff[]={0,0,0,0,0,0};
271 TString med=
medium->GetName();
272 if (med.CompareTo(rn.
getMedium()->GetName())!=0) {
286 for (Int_t i=0;i<np;i++) {
289 if (fabs(v1(0)-v2(0))>=0.001||fabs(v1(1)-v2(1))>=0.001||fabs(v1(2)-v2(2))>=0.001) {
301 if (fabs(v1(0)-v2(0))>=0.001||fabs(v1(1)-v2(1))>=0.001||fabs(v1(2)-v2(2))>=0.001) {
307 for (Int_t i=0;i<9;i++) {
308 if (fabs(r1(i)-r2(i))>=1.e-7) {
315 for (Int_t i=0;i<6;i++) cout<<
" "<<diff[i]<<
" ";
317 }
else cout<<
" same\n";
TArrayD * getParameters()
HGeomTransform & getTransform()
HGeomNode * getCopyNode()
HGeomTransform * getCenterPosition()
HGeomTransform & getCenterPosition()
HGeomBasicShape * getShapePointer()
HGeomMedium * getMedium()
TGeoVolume * getRootVolume()
void setPoint(const Int_t, const Double_t, const Double_t, const Double_t)
HGeomTransform * getVoluPosition()
virtual void printPoints(HGeomVolume *volu)
virtual void calcVoluPosition(HGeomVolume *, const HGeomTransform &)
void setShape(HGeomBasicShape *s)
ClassImp(HGeomNode) HGeomNode
HGeomTransform * getPosition()
void setVolumePar(HGeomNode &)
const TString & getShape() const
Bool_t calcRefPos(HGeomVector &)
void createPoints(const Int_t)
void setLabTransform(HGeomTransform &)
void setMother(HGeomNode *s)
HGeomTransform * getLabTransform()
HGeomTransform * calcLabTransform()
virtual TArrayD * calcVoluParam(HGeomVolume *)
EHGeomNodeType volumeType
EHGeomNodeType getVolumeType()
HGeomVector * getPoint(const Int_t n)
virtual Bool_t writePoints(fstream *, HGeomVolume *)
HGeomNode * getMotherNode()
const TString & getMother() const
Bool_t calcModuleTransform(HGeomTransform &)
HGeomTransform * labTransform
Int_t compare(HGeomNode &)