46 , labTransform(nullptr)
47 , fDaughterList(new TObjArray(5))
58 , volumeType(
r.getVolumeType())
60 , copyNode(
r.getCopyNode())
61 , rootVolume(
r.getRootVolume())
66 , fDaughterList(new TObjArray(*(
r.GetListOfDaughters())))
67 , fTruncName(
r.getTruncName())
108 Int_t
n =
r.getNumPoints();
140 Int_t l = fName.Length();
144 sscanf(s.Data(),
"%i", &
n);
148 Ssiz_t l = fName.Last(
'#');
152 sscanf(s.Data(),
"%i", &
n);
182 cout <<
"//----------------------------------------------------------\n";
184 cout <<
"//----------------------------------------------------------\n";
208 fout << fName.Data() <<
'\n';
210 fout << (const_cast<const char*>(
mother.Data())) <<
'\n';
212 Error(
"write",
"Unknown mother for %s\n", fName.Data());
217 fout << (const_cast<const char*>(
shape.Data())) <<
'\n';
219 Error(
"write",
"Unknown shape for %s\n", fName.Data());
223 fout <<
medium->GetName() <<
'\n';
225 Error(
"write",
"Unknown medium for %s\n", fName.Data());
231 Error(
"write",
"No points for %s\n", fName.Data());
238 fout <<
v(0) <<
" " <<
v(1) <<
" " <<
v(2) <<
'\n';
240 for (Int_t
i = 0;
i < 9;
i++) {
244 fout <<
"//----------------------------------------------------------\n";
251 TList*
tree =
new TList();
260 }
while (
v && !
v->isTopNode());
282 Error(
"calcLabTransform()",
"Mother volume of %s not found!", GetName());
289 Error(
"calcLabTransform()",
"Lab Transformation of mother volume of %s not found!", GetName());
311 Error(
"calcLabTransform()",
"Mother volume of %s not found!", GetName());
318 Error(
"calcLabTransform()",
"Lab Transformation of mother volume of %s not found!", GetName());
335 Error(
"calcModuleTransform",
"Mother volume of %s not found!",
node->GetName());
354 refPos =
node->getTransform().transFrom(refPos);
357 Error(
"calcModuleTransform",
"Mother of volume %s not found!", GetName());
360 }
while (
node && !
node->isModule());
372 Int_t diff[] = {0, 0, 0, 0, 0, 0};
374 cout << fName <<
'\t';
380 TString med =
medium->GetName();
381 if (med.CompareTo(rn.
getMedium()->GetName()) != 0) {
395 for (Int_t
i = 0;
i < np;
i++) {
398 if (fabs(
v1(0) -
v2(0)) >= 0.001 || fabs(
v1(1) -
v2(1)) >= 0.001 || fabs(
v1(1) -
v2(1)) >= 0.001) {
410 if (fabs(
v1(0) -
v2(0)) >= 0.001 || fabs(
v1(1) -
v2(1)) >= 0.001 || fabs(
v1(1) -
v2(1)) >= 0.001) {
416 for (Int_t
i = 0;
i < 9;
i++) {
417 if (fabs(r1(
i) - r2(
i)) >= 1.e-7) {
424 for (Int_t
i = 0;
i < 6;
i++) {
425 cout <<
" " << diff[
i] <<
" ";
std::unique_ptr< expressions::Node > node
FairGeoTransform * getCenterPosition()
FairGeoTransform * getVoluPosition()
virtual Bool_t writePoints(std::fstream *, FairGeoVolume *)
virtual void calcVoluPosition(FairGeoVolume *, const FairGeoTransform &)
virtual TArrayD * calcVoluParam(FairGeoVolume *)
FairGeoTransform * getPosition()
Int_t compare(FairGeoNode &)
FairGeoBasicShape * pShape
FairGeoMedium * medium
/** pointer to the mother volume */
void setLabTransform(FairGeoTransform &)
Bool_t write(std::fstream &)
FairGeoNode * getMotherNode()
FairGeoTransform * getLabTransform()
void setVolumePar(FairGeoNode &)
FairGeoTransform & getCenterPosition()
Bool_t calcModuleTransform(FairGeoTransform &)
TObjArray * fDaughterList
TArrayD * getParameters()
FairGeoTransform * calcLabTransform()
FairGeoMedium * getMedium()
Bool_t calcRefPos(FairGeoVector &)
void setShape(FairGeoBasicShape *s)
FairGeoTransform * labTransform
void setMother(FairGeoNode *s)
const TString & getShape() const
FairGeoVector * getPoint(const Int_t n)
void setPoint(const Int_t, const Double_t, const Double_t, const Double_t)
FairGeoTransform & getTransform()
FairGeoTransform transform
const TString & getMother() const
FairGeoTransform fLabTransform
void createPoints(const Int_t)
GLfloat GLfloat GLfloat v2
std::unique_ptr< TTree > tree((TTree *) flIn.Get(std::string(o2::base::NameConf::CTFTREENAME).c_str()))