DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Geant4AssemblyVolume.h
Go to the documentation of this file.
1 // $Id: $
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 
15 #define private public
16 #include "G4AssemblyVolume.hh"
17 #undef private
18 
20 namespace DD4hep {
21 
23  namespace Simulation {
24 
26 
32  public:
33  std::vector<const TGeoNode*> m_entries;
34  typedef std::vector<const TGeoNode*> Chain;
37  }
40  }
41  //std::vector<G4AssemblyTriplet>& triplets() { return fTriplets; }
42  long placeVolume(const TGeoNode* n, G4LogicalVolume* pPlacedVolume, G4Transform3D& transformation) {
43  size_t id = fTriplets.size();
44  m_entries.push_back(n);
45  this->AddPlacedVolume(pPlacedVolume, transformation);
46  return (long)id;
47  }
48  long placeAssembly(const TGeoNode* n, Geant4AssemblyVolume* pPlacedVolume, G4Transform3D& transformation) {
49  size_t id = fTriplets.size();
50  m_entries.push_back(n);
51  this->AddPlacedAssembly(pPlacedVolume, transformation);
52  return (long)id;
53  }
54  void imprint(Geant4GeometryInfo& info,
55  const TGeoNode* n,
56  Chain chain,
57  Geant4AssemblyVolume* pAssembly,
58  G4LogicalVolume* pMotherLV,
59  G4Transform3D& transformation,
60  G4int copyNumBase,
61  G4bool surfCheck );
62  };
63  }
64 }
Hack! Wrapper around G4AssemblyVolume to access protected members.
virtual ~Geant4AssemblyVolume()
Default destructor.
std::vector< const TGeoNode * > m_entries
long placeAssembly(const TGeoNode *n, Geant4AssemblyVolume *pPlacedVolume, G4Transform3D &transformation)
long placeVolume(const TGeoNode *n, G4LogicalVolume *pPlacedVolume, G4Transform3D &transformation)
std::vector< const TGeoNode * > Chain
Geant4AssemblyVolume()
Default constructor with initialization.
void imprint(Geant4GeometryInfo &info, const TGeoNode *n, Chain chain, Geant4AssemblyVolume *pAssembly, G4LogicalVolume *pMotherLV, G4Transform3D &transformation, G4int copyNumBase, G4bool surfCheck)
Concreate class holding the relation information between geant4 objects and dd4hep objects...
Class of the Geant4 toolkit. See http://www-geant4.kek.jp/Reference.
Definition: Geant4Classes.h:4