3 #include "TClonesArray.h"
4 #include "TGeoPhysicalNode.h"
5 #include "TVirtualMC.h"
39 LOG(INFO) <<
"Modifying the geometry for the Lmd detector." << FairLogger::endl;
43 TGeoPNEntry* entry =
gGeoManager->GetAlignableEntry(detStr.Data());
45 LOG(INFO) <<
"Modifying using symlinks." << FairLogger::endl;
49 LOG(INFO) <<
"Modifying using full path." << FairLogger::endl;
53 std::cout <<
"PndLmdDetector:modifyGeometry: success!\n";
60 volPath = entry.first;
65 TGeoHMatrix* l3 = (TGeoHMatrix*)n3->GetMatrix();
67 TGeoHMatrix nlocal = *l3 * entry.second;
68 TGeoHMatrix* nl3 =
new TGeoHMatrix(nlocal);
71 TGeoPhysicalNode* pn3 =
gGeoManager->MakePhysicalNode(volPath);
80 detStr = alignment_matrix.first;
82 TGeoPhysicalNode* node = NULL;
83 TGeoPNEntry* entry =
gGeoManager->GetAlignableEntry(detStr);
88 TGeoHMatrix* l3 = NULL;
90 l3 = (TGeoHMatrix*)node->GetMatrix();
96 TGeoHMatrix nlocal = *l3 * alignment_matrix.second;
97 TGeoHMatrix* nl3 =
new TGeoHMatrix(nlocal);
104 const std::map<std::string, TGeoHMatrix>& alignmentMatrices) {
void SetMisalignmentMatrices(const std::map< std::string, TGeoHMatrix > &alignmentMatrices)
void ModifyGeometryByFullPath()
void ModifyGeometryBySymlink()
std::vector< std::string > fListOfSensitives
To be set by daughter classes.
TGeoManager * gGeoManager
std::map< std::string, TGeoHMatrix > fAlignmentMatrices
virtual void SetDefaultSensorNames()
virtual ~PndLmdDetector()
void SetDetectorID(DetectorId id)
virtual void SetBranchNames()
TString fOutBranchName
enables the detection of neutral particles
TString fFolderName
To be set by daughter classes.