ATLAS Offline Software
Geo2G4STParameterisation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEO2G4_Geo2G4STParameterisation_H
6 #define GEO2G4_Geo2G4STParameterisation_H
7 
8 #include "globals.hh"
9 #include "G4VPVParameterisation.hh"
10 #include "G4RotationMatrix.hh"
11 
12 #include "GeoModelKernel/GeoXF.h"
13 
14 class G4VPhysicalVolume;
15 
16 // Dummy declarations. To avoid warnings
17 class G4Box;
18 class G4Trd;
19 class G4Trap;
20 class G4Cons;
21 class G4Sphere;
22 class G4Torus;
23 class G4Para;
24 class G4Hype;
25 class G4Tubs;
26 class G4Orb;
27 class G4Polyhedra;
28 class G4Polycone;
29 class G4Ellipsoid;
30 
31 class Geo2G4STParameterisation : public G4VPVParameterisation
32 {
33 public:
34 
35  Geo2G4STParameterisation(const GeoXF::Function* func,
36  unsigned int copies);
37 
38  void ComputeTransformation (const G4int copyNo,
39  G4VPhysicalVolume* physVol) const;
40 
41 private:
42  // Declaring, but not defining private copy-constructor and
43  // assignment operator, as an object of this class should never be
44  // copied.
47 
48  // Dummy declarations. To avoid warnings
49 
50  void ComputeDimensions (G4Box&,const G4int,const G4VPhysicalVolume*) const {}
51  void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) const {}
52  void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
53  void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
54  void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
55  void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
56  void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {}
57  void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
58  void ComputeDimensions (G4Tubs&,const G4int,const G4VPhysicalVolume*) const {}
59  void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
60  void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
61  void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
62  void ComputeDimensions (G4Ellipsoid&,const G4int,const G4VPhysicalVolume*) const {}
63 
64  const GeoXF::Function *m_function;
65  unsigned int m_nCopies;
66 };
67 
68 #endif
Geo2G4STParameterisation
Definition: Geo2G4STParameterisation.h:32
Geo2G4STParameterisation::Geo2G4STParameterisation
Geo2G4STParameterisation(const Geo2G4STParameterisation &)
Geo2G4STParameterisation::m_function
const GeoXF::Function * m_function
Definition: Geo2G4STParameterisation.h:64
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Sphere &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:54
Geo2G4STParameterisation::ComputeTransformation
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
Definition: Geo2G4STParameterisation.cxx:18
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Ellipsoid &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:62
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Polycone &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:61
Geo2G4STParameterisation::m_nCopies
unsigned int m_nCopies
Definition: Geo2G4STParameterisation.h:65
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Trap &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:52
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:60
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Hype &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:57
Geo2G4STParameterisation::Geo2G4STParameterisation
Geo2G4STParameterisation(const GeoXF::Function *func, unsigned int copies)
Definition: Geo2G4STParameterisation.cxx:11
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Orb &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:59
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Cons &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:53
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:50
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Torus &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:55
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Trd &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:51
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Tubs &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:58
Geo2G4STParameterisation::operator=
Geo2G4STParameterisation & operator=(const Geo2G4STParameterisation &)
Geo2G4STParameterisation::ComputeDimensions
void ComputeDimensions(G4Para &, const G4int, const G4VPhysicalVolume *) const
Definition: Geo2G4STParameterisation.h:56