Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/geometry/solids/specific/src/G4TwistedTrap.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /geometry/solids/specific/src/G4TwistedTrap.cc (Version 11.3.0) and /geometry/solids/specific/src/G4TwistedTrap.cc (Version 10.5.p1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 // G4TwistedTrap implementation                << 
 27 //                                                 26 //
 28 // Author: 10/11/2004 - O.Link (Oliver.Link@ce <<  27 //
                                                   >>  28 // 
                                                   >>  29 // --------------------------------------------------------------------
                                                   >>  30 // GEANT 4 class source file
                                                   >>  31 //
                                                   >>  32 //
                                                   >>  33 // G4TwistedTrap.cc
                                                   >>  34 //
                                                   >>  35 // Author:
                                                   >>  36 //
                                                   >>  37 //   10/11/2004 - O.Link (Oliver.Link@cern.ch)
                                                   >>  38 //
 29 // -------------------------------------------     39 // --------------------------------------------------------------------
 30                                                    40 
 31 #include "G4TwistedTrap.hh"                        41 #include "G4TwistedTrap.hh"
 32 #include "G4SystemOfUnits.hh"                      42 #include "G4SystemOfUnits.hh"
 33 #include "G4Polyhedron.hh"                         43 #include "G4Polyhedron.hh"
 34                                                    44 
 35 //============================================ <<  45 G4TwistedTrap::G4TwistedTrap( const G4String &pName,
 36 //* Constructors ----------------------------- << 
 37                                                << 
 38 G4TwistedTrap::G4TwistedTrap( const G4String&  << 
 39                                     G4double       46                                     G4double  pPhiTwist,
 40                                     G4double       47                                     G4double  pDx1,
 41                                     G4double       48                                     G4double  pDx2,
 42                                     G4double       49                                     G4double  pDy,
 43                                     G4double   <<  50                                     G4double  pDz)
 44   : G4VTwistedFaceted( pName, pPhiTwist,pDz,0.     51   : G4VTwistedFaceted( pName, pPhiTwist,pDz,0.,0.,
 45                        pDy, pDx1, pDx2, pDy, p     52                        pDy, pDx1, pDx2, pDy, pDx1, pDx2,0. )
 46 {                                                  53 {
 47 }                                                  54 }
 48                                                    55 
 49 G4TwistedTrap::                                    56 G4TwistedTrap::
 50 G4TwistedTrap(const G4String& pName,      // N <<  57 G4TwistedTrap(const G4String &pName,      // Name of instance
 51                     G4double  pPhiTwist,  // t     58                     G4double  pPhiTwist,  // twist angle
 52                     G4double  pDz,        // h     59                     G4double  pDz,        // half z length
 53                     G4double  pTheta,  // dire     60                     G4double  pTheta,  // direction between end planes
 54                     G4double  pPhi,    // defi     61                     G4double  pPhi,    // defined by polar and azimuthal angles
 55                     G4double  pDy1,    // half     62                     G4double  pDy1,    // half y length at -pDz
 56                     G4double  pDx1,    // half     63                     G4double  pDx1,    // half x length at -pDz,-pDy
 57                     G4double  pDx2,    // half     64                     G4double  pDx2,    // half x length at -pDz,+pDy
 58                     G4double  pDy2,    // half     65                     G4double  pDy2,    // half y length at +pDz
 59                     G4double  pDx3,    // half     66                     G4double  pDx3,    // half x length at +pDz,-pDy
 60                     G4double  pDx4,    // half     67                     G4double  pDx4,    // half x length at +pDz,+pDy
 61                     G4double  pAlph )  // tilt <<  68                     G4double  pAlph    // tilt angle
                                                   >>  69               )
 62   : G4VTwistedFaceted( pName, pPhiTwist, pDz,      70   : G4VTwistedFaceted( pName, pPhiTwist, pDz, pTheta,
 63                        pPhi, pDy1, pDx1, pDx2,     71                        pPhi, pDy1, pDx1, pDx2, pDy2, pDx3, pDx4, pAlph )
 64 {                                                  72 {
 65 }                                                  73 }
 66                                                    74 
 67 //============================================ << 
 68 // Fake default constructor - sets only member     75 // Fake default constructor - sets only member data and allocates memory
 69 //                            for usage restri     76 //                            for usage restricted to object persistency.
 70                                                <<  77 //
 71 G4TwistedTrap::G4TwistedTrap( __void__& a )        78 G4TwistedTrap::G4TwistedTrap( __void__& a )
 72   : G4VTwistedFaceted(a)                           79   : G4VTwistedFaceted(a)
 73 {                                                  80 {
 74 }                                                  81 }
 75                                                    82 
 76 //============================================ <<  83 G4TwistedTrap::~G4TwistedTrap()
 77 //* Destructor ------------------------------- <<  84 {
 78                                                <<  85 }
 79 G4TwistedTrap::~G4TwistedTrap() = default;     << 
 80                                                << 
 81 //============================================ << 
 82 //* Copy constructor ------------------------- << 
 83                                                    86 
                                                   >>  87 // Copy constructor
                                                   >>  88 //
 84 G4TwistedTrap::G4TwistedTrap(const G4TwistedTr     89 G4TwistedTrap::G4TwistedTrap(const G4TwistedTrap& rhs)
 85   : G4VTwistedFaceted(rhs)                         90   : G4VTwistedFaceted(rhs)
 86 {                                                  91 {
 87   fpPolyhedron = GetPolyhedron();                  92   fpPolyhedron = GetPolyhedron();
 88 }                                                  93 }
 89                                                    94 
 90 //============================================ <<  95 // Assignment operator
 91 //* Assignment operator ---------------------- <<  96 //
 92                                                << 
 93 G4TwistedTrap& G4TwistedTrap::operator = (cons     97 G4TwistedTrap& G4TwistedTrap::operator = (const G4TwistedTrap& rhs) 
 94 {                                                  98 {
 95    // Check assignment to self                     99    // Check assignment to self
 96    //                                             100    //
 97    if (this == &rhs)  { return *this; }           101    if (this == &rhs)  { return *this; }
 98                                                   102 
 99    // Copy base class data                        103    // Copy base class data
100    //                                             104    //
101    G4VTwistedFaceted::operator=(rhs);             105    G4VTwistedFaceted::operator=(rhs);
102    fpPolyhedron = GetPolyhedron();                106    fpPolyhedron = GetPolyhedron();
103                                                   107 
104    return *this;                                  108    return *this;
105 }                                                 109 }
106                                                   110 
107 //============================================ << 
108 //* StreamInfo ------------------------------- << 
109                                                << 
110 std::ostream& G4TwistedTrap::StreamInfo(std::o    111 std::ostream& G4TwistedTrap::StreamInfo(std::ostream& os) const
111 {                                                 112 {
112   //                                              113   //
113   // Stream object contents to an output strea    114   // Stream object contents to an output stream
114   //                                              115   //
115   os << "-------------------------------------    116   os << "-----------------------------------------------------------\n"
116      << "    *** Dump for solid - " << GetName    117      << "    *** Dump for solid - " << GetName() << " ***\n"
117      << "    =================================    118      << "    ===================================================\n"
118      << " Solid type: G4TwistedTrap\n"            119      << " Solid type: G4TwistedTrap\n"
119      << " Parameters: \n"                         120      << " Parameters: \n"
120      << "    Twist angle         = " << GetPhi    121      << "    Twist angle         = " << GetPhiTwist()/degree << " deg"
121      << G4endl                                    122      << G4endl 
122      << "    Polar Angle Theta   = " << GetPol    123      << "    Polar Angle Theta   = " << GetPolarAngleTheta()/degree << " deg"
123      << G4endl                                    124      << G4endl 
124      << "    Azimuthal Angle Phi = " << GetAzi    125      << "    Azimuthal Angle Phi = " << GetAzimuthalAnglePhi()/degree << " deg"
125      << G4endl                                    126      << G4endl 
126      << "    pDy1 = " << GetY1HalfLength()/cm     127      << "    pDy1 = " << GetY1HalfLength()/cm << " cm" << G4endl
127      << "    pDx1 = " << GetX1HalfLength()/cm     128      << "    pDx1 = " << GetX1HalfLength()/cm << " cm" << G4endl
128      << "    pDx2 = " << GetX2HalfLength()/cm     129      << "    pDx2 = " << GetX2HalfLength()/cm << " cm" << G4endl
129      << "    pDy2 = " << GetY2HalfLength()/cm     130      << "    pDy2 = " << GetY2HalfLength()/cm << " cm" << G4endl
130      << "    pDx3 = " << GetX3HalfLength()/cm     131      << "    pDx3 = " << GetX3HalfLength()/cm << " cm" << G4endl
131      << "    pDx4 = " << GetX4HalfLength()/cm     132      << "    pDx4 = " << GetX4HalfLength()/cm << " cm" << G4endl
132      << "    pDz = "  << GetZHalfLength()/cm <    133      << "    pDz = "  << GetZHalfLength()/cm << " cm" << G4endl
133      << "    Tilt Angle Alpha    = " << GetTil    134      << "    Tilt Angle Alpha    = " << GetTiltAngleAlpha()/degree << " deg"
134      << G4endl                                    135      << G4endl 
135      << "-------------------------------------    136      << "-----------------------------------------------------------\n";
136                                                   137 
137   return os;                                      138   return os;
138 }                                                 139 }
139                                                   140 
                                                   >> 141 
140 //============================================    142 //=====================================================================
141 //* GetEntityType ----------------------------    143 //* GetEntityType -----------------------------------------------------
142                                                   144 
143 G4GeometryType G4TwistedTrap::GetEntityType()     145 G4GeometryType G4TwistedTrap::GetEntityType() const
144 {                                                 146 {
145   return {"G4TwistedTrap"};                    << 147   return G4String("G4TwistedTrap");
146 }                                                 148 }
147                                                   149 
148 //============================================    150 //=====================================================================
149 //* Clone ------------------------------------    151 //* Clone -------------------------------------------------------------
150                                                   152 
151 G4VSolid* G4TwistedTrap::Clone() const            153 G4VSolid* G4TwistedTrap::Clone() const
152 {                                                 154 {
153   return new G4TwistedTrap(*this);                155   return new G4TwistedTrap(*this);
154 }                                                 156 }
155                                                   157