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 8.2)


  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 // $Id: G4TwistedTrap.cc,v 1.14 2006/06/29 18:49:23 gunter Exp $
                                                   >>  28 // GEANT4 tag $Name: geant4-08-02 $
                                                   >>  29 //
                                                   >>  30 // 
                                                   >>  31 // --------------------------------------------------------------------
                                                   >>  32 // GEANT 4 class source file
                                                   >>  33 //
                                                   >>  34 //
                                                   >>  35 // G4TwistedTrap.cc
                                                   >>  36 //
                                                   >>  37 // Author:
                                                   >>  38 //
                                                   >>  39 //   10/11/2004 - O.Link (Oliver.Link@cern.ch)
                                                   >>  40 //
 29 // -------------------------------------------     41 // --------------------------------------------------------------------
 30                                                    42 
 31 #include "G4TwistedTrap.hh"                        43 #include "G4TwistedTrap.hh"
 32 #include "G4SystemOfUnits.hh"                  << 
 33 #include "G4Polyhedron.hh"                         44 #include "G4Polyhedron.hh"
 34                                                    45 
 35 //============================================ <<  46 G4TwistedTrap::G4TwistedTrap( const G4String &pName,
 36 //* Constructors ----------------------------- << 
 37                                                << 
 38 G4TwistedTrap::G4TwistedTrap( const G4String&  << 
 39                                     G4double       47                                     G4double  pPhiTwist,
 40                                     G4double       48                                     G4double  pDx1,
 41                                     G4double       49                                     G4double  pDx2,
 42                                     G4double       50                                     G4double  pDy,
 43                                     G4double   <<  51                                     G4double  pDz)
 44   : G4VTwistedFaceted( pName, pPhiTwist,pDz,0.     52   : G4VTwistedFaceted( pName, pPhiTwist,pDz,0.,0.,
 45                        pDy, pDx1, pDx2, pDy, p     53                        pDy, pDx1, pDx2, pDy, pDx1, pDx2,0. )
 46 {                                                  54 {
 47 }                                                  55 }
 48                                                    56 
 49 G4TwistedTrap::                                    57 G4TwistedTrap::
 50 G4TwistedTrap(const G4String& pName,      // N <<  58 G4TwistedTrap(const G4String &pName,      // Name of instance
 51                     G4double  pPhiTwist,  // t     59                     G4double  pPhiTwist,  // twist angle
 52                     G4double  pDz,        // h     60                     G4double  pDz,        // half z length
 53                     G4double  pTheta,  // dire     61                     G4double  pTheta,  // direction between end planes
 54                     G4double  pPhi,    // defi     62                     G4double  pPhi,    // defined by polar and azimuthal angles
 55                     G4double  pDy1,    // half     63                     G4double  pDy1,    // half y length at -pDz
 56                     G4double  pDx1,    // half     64                     G4double  pDx1,    // half x length at -pDz,-pDy
 57                     G4double  pDx2,    // half     65                     G4double  pDx2,    // half x length at -pDz,+pDy
 58                     G4double  pDy2,    // half     66                     G4double  pDy2,    // half y length at +pDz
 59                     G4double  pDx3,    // half     67                     G4double  pDx3,    // half x length at +pDz,-pDy
 60                     G4double  pDx4,    // half     68                     G4double  pDx4,    // half x length at +pDz,+pDy
 61                     G4double  pAlph )  // tilt <<  69                     G4double  pAlph    // tilt angle
                                                   >>  70               )
 62   : G4VTwistedFaceted( pName, pPhiTwist, pDz,      71   : G4VTwistedFaceted( pName, pPhiTwist, pDz, pTheta,
 63                        pPhi, pDy1, pDx1, pDx2,     72                        pPhi, pDy1, pDx1, pDx2, pDy2, pDx3, pDx4, pAlph )
 64 {                                                  73 {
 65 }                                                  74 }
 66                                                    75 
 67 //============================================ << 
 68 // Fake default constructor - sets only member     76 // Fake default constructor - sets only member data and allocates memory
 69 //                            for usage restri     77 //                            for usage restricted to object persistency.
 70                                                <<  78 //
 71 G4TwistedTrap::G4TwistedTrap( __void__& a )        79 G4TwistedTrap::G4TwistedTrap( __void__& a )
 72   : G4VTwistedFaceted(a)                           80   : G4VTwistedFaceted(a)
 73 {                                                  81 {
 74 }                                                  82 }
 75                                                    83 
 76 //============================================ <<  84 G4TwistedTrap::~G4TwistedTrap()
 77 //* Destructor ------------------------------- << 
 78                                                << 
 79 G4TwistedTrap::~G4TwistedTrap() = default;     << 
 80                                                << 
 81 //============================================ << 
 82 //* Copy constructor ------------------------- << 
 83                                                << 
 84 G4TwistedTrap::G4TwistedTrap(const G4TwistedTr << 
 85   : G4VTwistedFaceted(rhs)                     << 
 86 {                                              << 
 87   fpPolyhedron = GetPolyhedron();              << 
 88 }                                              << 
 89                                                << 
 90 //============================================ << 
 91 //* Assignment operator ---------------------- << 
 92                                                << 
 93 G4TwistedTrap& G4TwistedTrap::operator = (cons << 
 94 {                                                  85 {
 95    // Check assignment to self                 << 
 96    //                                          << 
 97    if (this == &rhs)  { return *this; }        << 
 98                                                << 
 99    // Copy base class data                     << 
100    //                                          << 
101    G4VTwistedFaceted::operator=(rhs);          << 
102    fpPolyhedron = GetPolyhedron();             << 
103                                                << 
104    return *this;                               << 
105 }                                                  86 }
106                                                    87 
107 //============================================ << 
108 //* StreamInfo ------------------------------- << 
109                                                << 
110 std::ostream& G4TwistedTrap::StreamInfo(std::o     88 std::ostream& G4TwistedTrap::StreamInfo(std::ostream& os) const
111 {                                                  89 {
112   //                                               90   //
113   // Stream object contents to an output strea     91   // Stream object contents to an output stream
114   //                                               92   //
115   os << "-------------------------------------     93   os << "-----------------------------------------------------------\n"
116      << "    *** Dump for solid - " << GetName     94      << "    *** Dump for solid - " << GetName() << " ***\n"
117      << "    =================================     95      << "    ===================================================\n"
118      << " Solid type: G4TwistedTrap\n"             96      << " Solid type: G4TwistedTrap\n"
119      << " Parameters: \n"                          97      << " Parameters: \n"
120      << "    Twist angle         = " << GetPhi     98      << "    Twist angle         = " << GetPhiTwist()/degree << " deg"
121      << G4endl                                     99      << G4endl 
122      << "    Polar Angle Theta   = " << GetPol    100      << "    Polar Angle Theta   = " << GetPolarAngleTheta()/degree << " deg"
123      << G4endl                                    101      << G4endl 
124      << "    Azimuthal Angle Phi = " << GetAzi    102      << "    Azimuthal Angle Phi = " << GetAzimuthalAnglePhi()/degree << " deg"
125      << G4endl                                    103      << G4endl 
126      << "    pDy1 = " << GetY1HalfLength()/cm     104      << "    pDy1 = " << GetY1HalfLength()/cm << " cm" << G4endl
127      << "    pDx1 = " << GetX1HalfLength()/cm     105      << "    pDx1 = " << GetX1HalfLength()/cm << " cm" << G4endl
128      << "    pDx2 = " << GetX2HalfLength()/cm     106      << "    pDx2 = " << GetX2HalfLength()/cm << " cm" << G4endl
129      << "    pDy2 = " << GetY2HalfLength()/cm     107      << "    pDy2 = " << GetY2HalfLength()/cm << " cm" << G4endl
130      << "    pDx3 = " << GetX3HalfLength()/cm     108      << "    pDx3 = " << GetX3HalfLength()/cm << " cm" << G4endl
131      << "    pDx4 = " << GetX4HalfLength()/cm     109      << "    pDx4 = " << GetX4HalfLength()/cm << " cm" << G4endl
132      << "    pDz = "  << GetZHalfLength()/cm <    110      << "    pDz = "  << GetZHalfLength()/cm << " cm" << G4endl
133      << "    Tilt Angle Alpha    = " << GetTil    111      << "    Tilt Angle Alpha    = " << GetTiltAngleAlpha()/degree << " deg"
134      << G4endl                                    112      << G4endl 
135      << "-------------------------------------    113      << "-----------------------------------------------------------\n";
136                                                   114 
137   return os;                                      115   return os;
138 }                                                 116 }
139                                                   117 
                                                   >> 118 
140 //============================================    119 //=====================================================================
141 //* GetEntityType ----------------------------    120 //* GetEntityType -----------------------------------------------------
142                                                   121 
143 G4GeometryType G4TwistedTrap::GetEntityType()     122 G4GeometryType G4TwistedTrap::GetEntityType() const
144 {                                                 123 {
145   return {"G4TwistedTrap"};                    << 124   return G4String("G4TwistedTrap");
146 }                                              << 
147                                                << 
148 //============================================ << 
149 //* Clone ------------------------------------ << 
150                                                << 
151 G4VSolid* G4TwistedTrap::Clone() const         << 
152 {                                              << 
153   return new G4TwistedTrap(*this);             << 
154 }                                                 125 }
155                                                   126