Ignore:
Timestamp:
Dec 22, 2010, 3:52:27 PM (14 years ago)
Author:
garnier
Message:

geant4 tag 9.4

Location:
trunk/source/geometry/divisions
Files:
47 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/geometry/divisions/GNUmakefile

    r831 r1347  
    1 # $Id: GNUmakefile,v 1.4 2004/06/11 14:17:13 gcosmo Exp $
     1# $Id: GNUmakefile,v 1.6 2010/10/27 07:34:32 gcosmo Exp $
    22# ----------------------------------------------------------------------
    33# GNUmakefile for geometry/divisions library.  Gabriele Cosmo, 16/06/03.
  • trunk/source/geometry/divisions/History

    r1228 r1347  
    1 $Id: History,v 1.31 2009/05/20 08:55:23 gcosmo Exp $
     1$Id: History,v 1.35 2010/11/10 09:16:33 gcosmo Exp $
    22-------------------------------------------------------------------
    33
     
    1717     * Reverse chronological order (last date on top), please *
    1818     ----------------------------------------------------------
     19
     20November, 9th, 2010          M.Asai (geomdiv-V09-03-02)
     21- Introducing G4ReplicatedSlice, allowing for gaps in between divided daughter
     22  volumes.
     23
     24September, 6th, 2010         G.Cosmo (geomdiv-V09-03-01)
     25- Removed obvious else statement in constructors of G4PVDivision.
     26
     27July, 2nd, 2010         G.Cosmo (geomdiv-V09-03-00)
     28- Improved logic in G4PVDivision constructors and in method
     29  G4PVDivisionFactory::CreatePVDivision() in case of invalid construct.
     30- Properly initialise Boolean flag 'bDivInTrap' in G4VParameterisationTrd
     31  constructor.
     32- G4ParameterisationTrd: disabled unreachable error message in method
     33  G4ParameterisationTrdX::CheckParametersValidity().
     34- Removed uninitialised member in G4ParameterisationTrdX and correction in
     35  method ComputeSolid().
     36- Get rid of unnecessary virtual specification for leaf classes in the
     37  hierarchy...
    1938
    2039May, 20th, 2009         I.Hrivnacova (geomdiv-V09-02-00)
  • trunk/source/geometry/divisions/include/G4PVDivision.hh

    r1337 r1347  
    2626//
    2727// $Id: G4PVDivision.hh,v 1.14 2008/12/03 16:41:45 arce Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4PVDivision
  • trunk/source/geometry/divisions/include/G4PVDivisionFactory.hh

    r1337 r1347  
    2626//
    2727// $Id: G4PVDivisionFactory.hh,v 1.2 2006/06/29 18:18:09 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//
  • trunk/source/geometry/divisions/include/G4ParameterisationBox.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationBox.hh,v 1.6 2006/06/29 18:18:11 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationBox.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationBoxX,
     
    5151
    5252// Dummy declarations to get rid of warnings ...
     53//
    5354class G4Cons;
    5455class G4Trd;
     
    8081                            G4double offset, G4double step,
    8182                            G4VSolid* msolid, DivisionType divType );
    82  
    83     virtual ~G4ParameterisationBoxX();
    84 
    85     virtual G4double GetMaxParameter() const;
    86 
    87     virtual void ComputeTransformation( const G4int copyNo,
    88                                         G4VPhysicalVolume* physVol ) const;
     83   ~G4ParameterisationBoxX();
     84
     85    G4double GetMaxParameter() const;
     86
     87    void ComputeTransformation( const G4int copyNo,
     88                                      G4VPhysicalVolume* physVol ) const;
    8989    void ComputeDimensions(G4Box& box, const G4int copyNo,
    9090                           const G4VPhysicalVolume* physVol) const;
     
    123123                            G4double offset, G4double step,
    124124                            G4VSolid* msolid, DivisionType divType );
    125     virtual ~G4ParameterisationBoxY();
    126 
    127     virtual G4double GetMaxParameter() const;
    128 
    129     virtual void ComputeTransformation( const G4int copyNo,
    130                                         G4VPhysicalVolume* physVol ) const;
     125   ~G4ParameterisationBoxY();
     126
     127    G4double GetMaxParameter() const;
     128
     129    void ComputeTransformation( const G4int copyNo,
     130                                      G4VPhysicalVolume* physVol ) const;
    131131
    132132    void ComputeDimensions(G4Box& box, const G4int copyNo,
     
    166166                            G4double offset, G4double step,
    167167                            G4VSolid* msolid, DivisionType divType );
    168     virtual ~G4ParameterisationBoxZ();
    169 
    170     virtual G4double GetMaxParameter() const;
    171 
    172     virtual void ComputeTransformation( const G4int copyNo,
    173                                         G4VPhysicalVolume* physVol ) const;
     168   ~G4ParameterisationBoxZ();
     169
     170    G4double GetMaxParameter() const;
     171
     172    void ComputeTransformation( const G4int copyNo,
     173                                      G4VPhysicalVolume* physVol ) const;
    174174    void ComputeDimensions(G4Box& box, const G4int copyNo,
    175175                           const G4VPhysicalVolume* physVol) const;
  • trunk/source/geometry/divisions/include/G4ParameterisationCons.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationCons.hh,v 1.6 2006/06/29 18:18:13 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationCons.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationConsRho,
     
    5151
    5252// Dummy declarations to get rid of warnings ...
     53//
    5354class G4Trd;
    5455class G4Trap;
     
    8182                               G4double offset, G4double step,
    8283                               G4VSolid* motherSolid, DivisionType divType );
    83     virtual ~G4ParameterisationConsRho();
    84 
    85     virtual G4double GetMaxParameter() const;
    86 
    87     virtual void ComputeTransformation( const G4int copyNo,
    88                                         G4VPhysicalVolume* physVol ) const;
     84   ~G4ParameterisationConsRho();
     85
     86    G4double GetMaxParameter() const;
     87
     88    void ComputeTransformation( const G4int copyNo,
     89                                      G4VPhysicalVolume* physVol ) const;
    8990    void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
    9091                            const G4VPhysicalVolume* physVol) const;
     
    123124                               G4double offset, G4double step,
    124125                               G4VSolid* motherSolid, DivisionType divType );
    125     virtual ~G4ParameterisationConsPhi();
    126 
    127     virtual G4double GetMaxParameter() const;
    128 
    129     virtual void ComputeTransformation( const G4int copyNo,
    130                                         G4VPhysicalVolume* physVol ) const;
     126   ~G4ParameterisationConsPhi();
     127
     128    G4double GetMaxParameter() const;
     129
     130    void ComputeTransformation( const G4int copyNo,
     131                                      G4VPhysicalVolume* physVol ) const;
    131132    void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
    132133                            const G4VPhysicalVolume* physVol ) const;
     
    165166                             G4double offset, G4double step,
    166167                             G4VSolid* motherSolid, DivisionType divType );
    167     virtual ~G4ParameterisationConsZ();
    168 
    169     virtual G4double GetMaxParameter() const;
    170 
    171     virtual void ComputeTransformation( const G4int copyNo,
    172                                         G4VPhysicalVolume* physVol ) const;
     168   ~G4ParameterisationConsZ();
     169
     170    G4double GetMaxParameter() const;
     171
     172    void ComputeTransformation( const G4int copyNo,
     173                                      G4VPhysicalVolume* physVol ) const;
    173174    void ComputeDimensions( G4Cons& tubs, const G4int copyNo,
    174175                            const G4VPhysicalVolume* physVol ) const;
  • trunk/source/geometry/divisions/include/G4ParameterisationPara.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationPara.hh,v 1.7 2006/06/29 18:18:15 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationPara.hh,v 1.8 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationParaX,
     
    4949class G4VSolid;
    5050class G4VPhysicalVolume;
     51
    5152// Dummy declarations to get rid of warnings ...
     53//
    5254class G4Cons;
    5355class G4Cons;
     
    7981                             G4double offset, G4double step,
    8082                             G4VSolid* msolid, DivisionType divType );
    81     virtual ~G4ParameterisationParaX();
    82 
    83     virtual G4double GetMaxParameter() const;
    84 
    85     virtual void ComputeTransformation( const G4int copyNo,
    86                                         G4VPhysicalVolume* physVol ) const;
     83   ~G4ParameterisationParaX();
     84
     85    G4double GetMaxParameter() const;
     86
     87    void ComputeTransformation( const G4int copyNo,
     88                                      G4VPhysicalVolume* physVol ) const;
    8789    void ComputeDimensions(G4Para& para, const G4int copyNo,
    8890                           const G4VPhysicalVolume* pv) const;
     
    123125                             G4double offset, G4double step,
    124126                             G4VSolid* msolid, DivisionType divType );
    125     virtual ~G4ParameterisationParaY();
    126  
    127     virtual G4double GetMaxParameter() const;
    128 
    129     virtual void ComputeTransformation( const G4int copyNo,
    130                                         G4VPhysicalVolume* physVol ) const;
     127   ~G4ParameterisationParaY();
     128 
     129    G4double GetMaxParameter() const;
     130
     131    void ComputeTransformation( const G4int copyNo,
     132                                      G4VPhysicalVolume* physVol ) const;
    131133    void ComputeDimensions(G4Para& para, const G4int copyNo,
    132134                           const G4VPhysicalVolume* pv) const;
     
    167169                             G4double offset, G4double step,
    168170                             G4VSolid* msolid, DivisionType divType );
    169     virtual ~G4ParameterisationParaZ();
    170 
    171     virtual G4double GetMaxParameter() const;
    172 
    173     virtual void ComputeTransformation( const G4int copyNo,
    174                                         G4VPhysicalVolume* physVol ) const;
     171   ~G4ParameterisationParaZ();
     172
     173    G4double GetMaxParameter() const;
     174
     175    void ComputeTransformation( const G4int copyNo,
     176                                      G4VPhysicalVolume* physVol ) const;
    175177    void ComputeDimensions(G4Para& para, const G4int copyNo,
    176178                           const G4VPhysicalVolume* pv) const;
  • trunk/source/geometry/divisions/include/G4ParameterisationPolycone.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationPolycone.hh,v 1.8 2009/05/14 14:19:32 ivana Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationPolycone.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationPolyconeRho,
     
    5151
    5252// Dummy declarations to get rid of warnings ...
     53//
    5354class G4Trd;
    5455class G4Trap;
     
    8586                                   G4VSolid* motherSolid,
    8687                                   DivisionType divType );
    87     virtual ~G4ParameterisationPolyconeRho();
    88 
    89     virtual void CheckParametersValidity();
    90 
    91     virtual G4double GetMaxParameter() const;
    92 
    93     virtual void ComputeTransformation( const G4int copyNo,
    94                                         G4VPhysicalVolume* physVol ) const;
     88   ~G4ParameterisationPolyconeRho();
     89
     90    void CheckParametersValidity();
     91
     92    G4double GetMaxParameter() const;
     93
     94    void ComputeTransformation( const G4int copyNo,
     95                                      G4VPhysicalVolume* physVol ) const;
    9596    void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
    9697                            const G4VPhysicalVolume* physVol ) const;
     
    134135                                   G4VSolid* motherSolid,
    135136                                   DivisionType divType );
    136     virtual ~G4ParameterisationPolyconePhi();
    137 
    138     virtual G4double GetMaxParameter() const;
    139 
    140     virtual void ComputeTransformation( const G4int copyNo,
    141                                         G4VPhysicalVolume* physVol ) const;
     137   ~G4ParameterisationPolyconePhi();
     138
     139    G4double GetMaxParameter() const;
     140
     141    void ComputeTransformation( const G4int copyNo,
     142                                      G4VPhysicalVolume* physVol ) const;
    142143    void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
    143144                            const G4VPhysicalVolume* physVol ) const;
     
    181182                                 G4VSolid* motherSolid,
    182183                                 DivisionType divType );
    183     virtual ~G4ParameterisationPolyconeZ();
    184 
    185     virtual void CheckParametersValidity();
    186 
    187     virtual G4double GetMaxParameter() const;
    188 
    189     virtual void ComputeTransformation( const G4int copyNo,
    190                                         G4VPhysicalVolume* physVol ) const;
     184   ~G4ParameterisationPolyconeZ();
     185
     186    void CheckParametersValidity();
     187
     188    G4double GetMaxParameter() const;
     189
     190    void ComputeTransformation( const G4int copyNo,
     191                                      G4VPhysicalVolume* physVol ) const;
    191192    void ComputeDimensions( G4Polycone& pcone, const G4int copyNo,
    192193                            const G4VPhysicalVolume* physVol ) const;
    193194
    194   private: 
    195     G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const;
     195  private:
     196
     197    G4double GetR(G4double z, G4double z1, G4double r1,
     198                  G4double z2, G4double r2) const;
    196199    G4double GetRmin(G4double z, G4int nsegment) const;
    197200    G4double GetRmax(G4double z, G4int nsegment) const;
    198201
     202    // Dummy declarations to get rid of warnings ...
     203
     204    void ComputeDimensions (G4Trd&,const G4int,
     205                            const G4VPhysicalVolume*) const {}
     206    void ComputeDimensions (G4Trap&,const G4int,
     207                            const G4VPhysicalVolume*) const {}
     208    void ComputeDimensions (G4Box&,const G4int,
     209                            const G4VPhysicalVolume*) const {}
     210    void ComputeDimensions (G4Orb&,const G4int,
     211                            const G4VPhysicalVolume*) const {}
     212    void ComputeDimensions (G4Sphere&,const G4int,
     213                            const G4VPhysicalVolume*) const {}
     214    void ComputeDimensions (G4Torus&,const G4int,
     215                            const G4VPhysicalVolume*) const {}
     216    void ComputeDimensions (G4Para&,const G4int,
     217                            const G4VPhysicalVolume*) const {}
     218    void ComputeDimensions (G4Hype&,const G4int,
     219                            const G4VPhysicalVolume*) const {}
     220    void ComputeDimensions (G4Tubs&,const G4int,
     221                            const G4VPhysicalVolume*) const {}
     222    void ComputeDimensions (G4Cons&,const G4int,
     223                            const G4VPhysicalVolume*) const {}
     224    void ComputeDimensions (G4Polyhedra&,const G4int,
     225                            const G4VPhysicalVolume*) const {}
     226  private:
     227
    199228    G4int fNSegment;
    200229    G4PolyconeHistorical* fOrigParamMother;
    201 
    202     // Dummy declarations to get rid of warnings ...
    203 
    204     void ComputeDimensions (G4Trd&,const G4int,
    205                             const G4VPhysicalVolume*) const {}
    206     void ComputeDimensions (G4Trap&,const G4int,
    207                             const G4VPhysicalVolume*) const {}
    208     void ComputeDimensions (G4Box&,const G4int,
    209                             const G4VPhysicalVolume*) const {}
    210     void ComputeDimensions (G4Orb&,const G4int,
    211                             const G4VPhysicalVolume*) const {}
    212     void ComputeDimensions (G4Sphere&,const G4int,
    213                             const G4VPhysicalVolume*) const {}
    214     void ComputeDimensions (G4Torus&,const G4int,
    215                             const G4VPhysicalVolume*) const {}
    216     void ComputeDimensions (G4Para&,const G4int,
    217                             const G4VPhysicalVolume*) const {}
    218     void ComputeDimensions (G4Hype&,const G4int,
    219                             const G4VPhysicalVolume*) const {}
    220     void ComputeDimensions (G4Tubs&,const G4int,
    221                             const G4VPhysicalVolume*) const {}
    222     void ComputeDimensions (G4Cons&,const G4int,
    223                             const G4VPhysicalVolume*) const {}
    224     void ComputeDimensions (G4Polyhedra&,const G4int,
    225                             const G4VPhysicalVolume*) const {}
    226230};
    227231
  • trunk/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationPolyhedra.hh,v 1.9 2009/05/14 14:19:32 ivana Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationPolyhedra.hh,v 1.10 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationPolyhedraRho,
     
    5151
    5252// Dummy declarations to get rid of warnings ...
     53//
    5354class G4Trd;
    5455class G4Trap;
     
    9192                                    G4VSolid* motherSolid,
    9293                                    DivisionType divType );
    93     virtual ~G4ParameterisationPolyhedraRho();
    94 
    95     virtual void CheckParametersValidity();
    96 
    97     virtual G4double GetMaxParameter() const;
    98 
    99     virtual void ComputeTransformation( const G4int copyNo,
    100                                         G4VPhysicalVolume* physVol ) const;
     94   ~G4ParameterisationPolyhedraRho();
     95
     96    void CheckParametersValidity();
     97
     98    G4double GetMaxParameter() const;
     99
     100    void ComputeTransformation( const G4int copyNo,
     101                                      G4VPhysicalVolume* physVol ) const;
    101102    void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
    102103                            const G4VPhysicalVolume* physVol ) const;
     
    140141                                   G4VSolid* motherSolid,
    141142                                   DivisionType divType );
    142     virtual ~G4ParameterisationPolyhedraPhi();
    143 
    144     virtual void CheckParametersValidity();
    145 
    146     virtual G4double GetMaxParameter() const;
    147 
    148     virtual void ComputeTransformation( const G4int copyNo,
    149                                         G4VPhysicalVolume* physVol ) const;
     143   ~G4ParameterisationPolyhedraPhi();
     144
     145    void CheckParametersValidity();
     146
     147    G4double GetMaxParameter() const;
     148
     149    void ComputeTransformation( const G4int copyNo,
     150                                      G4VPhysicalVolume* physVol ) const;
    150151    void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
    151152                            const G4VPhysicalVolume* physVol ) const;
     
    189190                                  G4VSolid* motherSolid,
    190191                                  DivisionType divType );
    191     virtual ~G4ParameterisationPolyhedraZ();
    192 
    193     virtual void CheckParametersValidity();
    194 
    195     virtual G4double GetMaxParameter() const;
    196 
    197     virtual void ComputeTransformation( const G4int copyNo,
    198                                         G4VPhysicalVolume* physVol ) const;
     192   ~G4ParameterisationPolyhedraZ();
     193
     194    void CheckParametersValidity();
     195
     196    G4double GetMaxParameter() const;
     197
     198    void ComputeTransformation( const G4int copyNo,
     199                                      G4VPhysicalVolume* physVol ) const;
    199200    void ComputeDimensions( G4Polyhedra& phedra, const G4int copyNo,
    200201                            const G4VPhysicalVolume* physVol ) const;
    201202
    202   private:
    203     G4double GetR(G4double z, G4double z1, G4double r1, G4double z2, G4double r2) const;
     203  private:
     204
     205    G4double GetR(G4double z, G4double z1, G4double r1,
     206                  G4double z2, G4double r2) const;
    204207    G4double GetRmin(G4double z, G4int nsegment) const;
    205208    G4double GetRmax(G4double z, G4int nsegment) const;
    206209
     210    // Dummy declarations to get rid of warnings ...
     211    void ComputeDimensions (G4Trd&,const G4int,
     212                            const G4VPhysicalVolume*) const {}
     213    void ComputeDimensions (G4Trap&,const G4int,
     214                            const G4VPhysicalVolume*) const {}
     215    void ComputeDimensions (G4Box&,const G4int,
     216                            const G4VPhysicalVolume*) const {}
     217    void ComputeDimensions (G4Sphere&,const G4int,
     218                            const G4VPhysicalVolume*) const {}
     219    void ComputeDimensions (G4Orb&,const G4int,
     220                            const G4VPhysicalVolume*) const {}
     221    void ComputeDimensions (G4Torus&,const G4int,
     222                            const G4VPhysicalVolume*) const {}
     223    void ComputeDimensions (G4Para&,const G4int,
     224                            const G4VPhysicalVolume*) const {}
     225    void ComputeDimensions (G4Hype&,const G4int,
     226                            const G4VPhysicalVolume*) const {}
     227    void ComputeDimensions (G4Tubs&,const G4int,
     228                            const G4VPhysicalVolume*) const {}
     229    void ComputeDimensions (G4Cons&,const G4int,
     230                            const G4VPhysicalVolume*) const {}
     231    void ComputeDimensions (G4Polycone&,const G4int,
     232                            const G4VPhysicalVolume*) const {}
     233  private:
     234
    207235    G4int fNSegment;
    208236    G4PolyhedraHistorical* fOrigParamMother;
    209 
    210     // Dummy declarations to get rid of warnings ...
    211     void ComputeDimensions (G4Trd&,const G4int,
    212                             const G4VPhysicalVolume*) const {}
    213     void ComputeDimensions (G4Trap&,const G4int,
    214                             const G4VPhysicalVolume*) const {}
    215     void ComputeDimensions (G4Box&,const G4int,
    216                             const G4VPhysicalVolume*) const {}
    217     void ComputeDimensions (G4Sphere&,const G4int,
    218                             const G4VPhysicalVolume*) const {}
    219     void ComputeDimensions (G4Orb&,const G4int,
    220                             const G4VPhysicalVolume*) const {}
    221     void ComputeDimensions (G4Torus&,const G4int,
    222                             const G4VPhysicalVolume*) const {}
    223     void ComputeDimensions (G4Para&,const G4int,
    224                             const G4VPhysicalVolume*) const {}
    225     void ComputeDimensions (G4Hype&,const G4int,
    226                             const G4VPhysicalVolume*) const {}
    227     void ComputeDimensions (G4Tubs&,const G4int,
    228                             const G4VPhysicalVolume*) const {}
    229     void ComputeDimensions (G4Cons&,const G4int,
    230                             const G4VPhysicalVolume*) const {}
    231     void ComputeDimensions (G4Polycone&,const G4int,
    232                             const G4VPhysicalVolume*) const {}
    233237};
    234238
  • trunk/source/geometry/divisions/include/G4ParameterisationTrd.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationTrd.hh,v 1.8 2008/12/03 16:48:48 arce Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationTrd.hh,v 1.9 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationTrdX
     
    4545#define G4ParameterisationTrd_H 1
    4646
     47#include <vector>
     48
    4749#include "G4VDivisionParameterisation.hh"
    4850#include "G4VSolid.hh"
     
    5153
    5254// Dummy declarations to get rid of warnings ...
     55//
    5356class G4Cons;
    5457class G4Box;
     
    6164class G4Polycone;
    6265class G4Polyhedra;
    63 #include <vector>
    6466
    6567class G4VParameterisationTrd : public G4VDivisionParameterisation
     
    7375    virtual ~G4VParameterisationTrd();
    7476
    75 
    76 protected:
    77   G4bool bDivInTrap;
     77  protected:
     78
     79    G4bool bDivInTrap;
    7880};
    7981
     
    8587                            G4double width, G4double offset,
    8688                            G4VSolid* motherSolid, DivisionType divType );
    87     virtual ~G4ParameterisationTrdX();
    88 
    89     virtual void CheckParametersValidity();
    90 
    91     virtual G4double GetMaxParameter() const;
    92 
    93     virtual void ComputeTransformation(const G4int copyNo,
    94                                        G4VPhysicalVolume* physVol) const;
    95 
    96     virtual void ComputeDimensions(G4Trd& trd, const G4int copyNo,
    97                            const G4VPhysicalVolume* pv) const;
    98 
    99     virtual void ComputeDimensions(G4Trap& trd, const G4int copyNo,
     89   ~G4ParameterisationTrdX();
     90
     91    void CheckParametersValidity();
     92
     93    G4double GetMaxParameter() const;
     94
     95    void ComputeTransformation(const G4int copyNo,
     96                                     G4VPhysicalVolume* physVol) const;
     97
     98    void ComputeDimensions(G4Trd& trd, const G4int copyNo,
     99                           const G4VPhysicalVolume* pv) const;
     100
     101    void ComputeDimensions(G4Trap& trd, const G4int copyNo,
    100102                           const G4VPhysicalVolume* pv) const;
    101103 
    102     virtual G4VSolid*   ComputeSolid(const G4int, G4VPhysicalVolume *);
     104    G4VSolid*   ComputeSolid(const G4int, G4VPhysicalVolume *);
    103105
    104106
     
    126128                            const G4VPhysicalVolume*) const {}
    127129
    128   void ComputeTrapParams();
    129  G4Trap* theTrap;
     130    void ComputeTrapParams();
    130131};
    131132
     
    138139                            G4double width, G4double offset,
    139140                            G4VSolid* motherSolid, DivisionType divType );
    140     virtual ~G4ParameterisationTrdY();
    141 
    142     virtual void CheckParametersValidity();
    143 
    144     virtual G4double GetMaxParameter() const;
    145 
    146     virtual void ComputeTransformation(const G4int copyNo,
    147                                        G4VPhysicalVolume *physVol) const;
     141   ~G4ParameterisationTrdY();
     142
     143    void CheckParametersValidity();
     144
     145    G4double GetMaxParameter() const;
     146
     147    void ComputeTransformation(const G4int copyNo,
     148                                     G4VPhysicalVolume *physVol) const;
    148149 
    149150    void ComputeDimensions(G4Trd& trd, const G4int copyNo,
     
    184185                            G4double width, G4double offset,
    185186                            G4VSolid* motherSolid, DivisionType divType );
    186     virtual ~G4ParameterisationTrdZ();
    187 
    188     virtual G4double GetMaxParameter() const;
    189 
    190     virtual void ComputeTransformation(const G4int copyNo,
    191                                        G4VPhysicalVolume* physVol) const;
     187   ~G4ParameterisationTrdZ();
     188
     189    G4double GetMaxParameter() const;
     190
     191    void ComputeTransformation(const G4int copyNo,
     192                                     G4VPhysicalVolume* physVol) const;
    192193    void ComputeDimensions(G4Trd& trd, const G4int copyNo,
    193194                           const G4VPhysicalVolume* pv) const;
  • trunk/source/geometry/divisions/include/G4ParameterisationTubs.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationTubs.hh,v 1.6 2006/06/29 18:18:24 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationTubs.hh,v 1.7 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// classes G4ParameterisationTubsRho
     
    5050
    5151// Dummy declarations to get rid of warnings ...
     52//
    5253class G4Trd;
    5354class G4Trap;
     
    7980                               G4double offset, G4double step,
    8081                               G4VSolid* motherSolid, DivisionType divType );
    81     virtual ~G4ParameterisationTubsRho();
    82 
    83     virtual G4double GetMaxParameter() const;
    84 
    85     virtual void ComputeTransformation(const G4int copyNo,
    86                                        G4VPhysicalVolume* physVol) const;
     82   ~G4ParameterisationTubsRho();
     83
     84    G4double GetMaxParameter() const;
     85
     86    void ComputeTransformation(const G4int copyNo,
     87                                     G4VPhysicalVolume* physVol) const;
    8788    void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
    8889                           const G4VPhysicalVolume* physVol) const;
     
    122123                               G4double offset, G4double step,
    123124                               G4VSolid* motherSolid, DivisionType divType );
    124     virtual ~G4ParameterisationTubsPhi();
    125 
    126     virtual G4double GetMaxParameter() const;
    127 
    128     virtual void ComputeTransformation(const G4int copyNo,
    129                                        G4VPhysicalVolume* physVol) const;
     125   ~G4ParameterisationTubsPhi();
     126
     127    G4double GetMaxParameter() const;
     128
     129    void ComputeTransformation(const G4int copyNo,
     130                                     G4VPhysicalVolume* physVol) const;
    130131    void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
    131132                           const G4VPhysicalVolume* physVol) const;
     
    165166                             G4double offset, G4double step,
    166167                             G4VSolid* motherSolid, DivisionType divType );
    167     virtual ~G4ParameterisationTubsZ();
    168 
    169     virtual G4double GetMaxParameter() const;
    170 
    171     virtual void ComputeTransformation(const G4int copyNo,
    172                                        G4VPhysicalVolume* physVol) const;
     168   ~G4ParameterisationTubsZ();
     169
     170    G4double GetMaxParameter() const;
     171
     172    void ComputeTransformation(const G4int copyNo,
     173                                     G4VPhysicalVolume* physVol) const;
    173174    void ComputeDimensions(G4Tubs& tubs, const G4int copyNo,
    174175                           const G4VPhysicalVolume* physVol) const;
  • trunk/source/geometry/divisions/include/G4VDivisionParameterisation.hh

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4VDivisionParameterisation.hh,v 1.11 2007/05/11 13:26:26 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4VDivisionParameterisation.hh,v 1.13 2010/11/10 09:15:48 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4VDivisionParameterisation
     
    3939// 09.05.01 - P.Arce, Initial version
    4040// 08.04.04 - I.Hrivnacova, Implemented reflection
     41// 21.04.10 - M.Asai, Added gaps
    4142//---------------------------------------------------------------------
    4243#ifndef G4VDivisionParameterisation_H
     
    7475    inline void SetType(const G4String& type);
    7576    inline G4int VolumeFirstCopyNo() const;
    76  
     77    inline void SetHalfGap(G4double hg);
     78    inline G4double GetHalfGap() const;
     79
    7780  protected:  // with description
    7881
     
    107110
    108111    G4double kCarTolerance;
     112
     113    G4double fhgap;
    109114};
    110115
  • trunk/source/geometry/divisions/include/G4VDivisionParameterisation.icc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4VDivisionParameterisation.icc,v 1.4 2006/06/29 18:18:29 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4VDivisionParameterisation.icc,v 1.5 2010/11/10 09:15:55 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4VDivisionParameterisation Inline Implementation file
     
    7979  return theVoluFirstCopyNo;
    8080}
     81
     82inline
     83void G4VDivisionParameterisation::SetHalfGap(G4double hg)
     84{
     85   fhgap = hg;
     86}
     87
     88inline
     89G4double G4VDivisionParameterisation::GetHalfGap() const
     90{
     91   return fhgap;
     92}
  • trunk/source/geometry/divisions/src/G4PVDivision.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4PVDivision.cc,v 1.22 2008/12/03 16:41:45 arce Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4PVDivision.cc,v 1.24 2010/09/06 09:28:24 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4PVDivision Implementation file
     
    6262    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    6363                FatalException, message_1);
     64    return;
    6465  }
    6566  if (pLogical == pMotherLogical)
    6667  {
    67     G4String message_2 =
    68       "Cannot place a volume inside itself! Volume: " + pName;
     68    G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName;
    6969    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    7070                FatalException, message_2);
     
    9090  if (!pMotherLogical)
    9191  {
    92     G4String message_1 =
    93       "NULL pointer specified as mother! Volume: " + pName;
     92    G4String message_1 = "NULL pointer specified as mother! Volume: " + pName;
    9493    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    9594                FatalException, message_1);
     95    return;
    9696  }
    9797  if (pLogical == pMotherLogical)
    9898  {
    99     G4String message_2 =
    100       "Cannot place a volume inside itself! Volume: " + pName;
     99    G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName;
    101100    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    102101                FatalException, message_2);
     
    120119  if (!pMotherLogical)
    121120  {
    122     G4String message_1 =
    123       "NULL pointer specified as mother! Volume: " + pName;
     121    G4String message_1 = "NULL pointer specified as mother! Volume: " + pName;
    124122    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    125123                FatalException, message_1);
     124    return;
    126125  }
    127126  if (pLogical == pMotherLogical)
    128127  {
    129     G4String message_2 =
    130       "Cannot place a volume inside itself! Volume: " + pName;
     128    G4String message_2 = "Cannot place a volume inside itself! Volume: "+ pName;
    131129    G4Exception("G4PVDivision::G4PVDivision()", "InvalidSetup",
    132130                FatalException, message_2);
  • trunk/source/geometry/divisions/src/G4PVDivisionFactory.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4PVDivisionFactory.cc,v 1.2 2006/06/29 18:18:33 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4PVDivisionFactory.cc,v 1.3 2010/07/02 10:46:27 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4PVDivisionFactory Implementation file
     
    137137                "WrongType", FatalException,
    138138                "Unexpected parameterisation type !");
     139    return 0;
    139140  }
     141  else
     142  {
     143    EAxis axis = divParam->GetAxis();
     144    G4int nofDivisions = divParam->GetNoDiv();
     145    G4double width = divParam->GetWidth();
     146    G4double offset = divParam->GetOffset();
    140147
    141   EAxis axis = divParam->GetAxis();
    142   G4int nofDivisions = divParam->GetNoDiv();
    143   G4double width = divParam->GetWidth();
    144   G4double offset = divParam->GetOffset();
    145 
    146   return new G4PVDivision(pName, pLogical, pMotherLogical,
    147                           axis, nofDivisions, width, offset);
     148    return new G4PVDivision(pName, pLogical, pMotherLogical,
     149                            axis, nofDivisions, width, offset);
     150  }
    148151}   
    149152
  • trunk/source/geometry/divisions/src/G4ParameterisationBox.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationBox.cc,v 1.10 2006/06/29 18:18:35 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationBox.cc,v 1.12 2010/11/10 09:15:56 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationBox Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    152153  G4Box* msol = (G4Box*)(fmotherSolid);
    153154
    154   G4double pDx = fwidth/2.;
     155  G4double pDx = fwidth/2. - fhgap;
    155156  G4double pDy = msol->GetYHalfLength();
    156157  G4double pDz = msol->GetZHalfLength();
     
    254255
    255256  G4double pDx = msol->GetXHalfLength();
    256   G4double pDy = fwidth/2.;
     257  G4double pDy = fwidth/2. - fhgap;
    257258  G4double pDz = msol->GetZHalfLength();
    258259
     
    356357  G4double pDx = msol->GetXHalfLength();
    357358  G4double pDy = msol->GetYHalfLength();
    358   G4double pDz = fwidth/2.;
     359  G4double pDz = fwidth/2. - fhgap;
    359360
    360361  box.SetXHalfLength( pDx );
  • trunk/source/geometry/divisions/src/G4ParameterisationCons.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationCons.cc,v 1.9 2006/06/29 18:18:38 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationCons.cc,v 1.11 2010/11/10 09:15:58 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationCons Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    188189  G4double pDz = msol->GetZHalfLength();
    189190
     191  G4double d_half_gap = fhgap * pRMax2 / pRMax1;
    190192  //- already rotated  double pSR = foffset + copyNo*fwidth;
    191193  G4double pSPhi = msol->GetStartPhiAngle();
    192194  G4double pDPhi = msol->GetDeltaPhiAngle();;
    193195
    194   cons.SetInnerRadiusMinusZ( pRMin1 );
    195   cons.SetOuterRadiusMinusZ( pRMax1 );
    196   cons.SetInnerRadiusPlusZ( pRMin2 );
    197   cons.SetOuterRadiusPlusZ( pRMax2 );
     196  cons.SetInnerRadiusMinusZ( pRMin1 + fhgap );
     197  cons.SetOuterRadiusMinusZ( pRMax1 - fhgap );
     198  cons.SetInnerRadiusPlusZ( pRMin2 + d_half_gap );
     199  cons.SetOuterRadiusPlusZ( pRMax2 - d_half_gap );
    198200  cons.SetZHalfLength( pDz );
    199201  cons.SetStartPhiAngle( pSPhi );
     
    295297
    296298  //- already rotated  double pSPhi = foffset + copyNo*fwidth;
    297   G4double pSPhi = foffset + msol->GetStartPhiAngle();
    298   G4double pDPhi = fwidth;
     299  G4double pSPhi = foffset + msol->GetStartPhiAngle() + fhgap;
     300  G4double pDPhi = fwidth - 2.*fhgap;
    299301
    300302  cons.SetInnerRadiusMinusZ( pRMin1 );
     
    396398  G4Cons* msol = (G4Cons*)(fmotherSolid);
    397399
    398   G4double mHalfLength = msol->GetZHalfLength();
     400  G4double mHalfLength = msol->GetZHalfLength() - fhgap;
    399401  G4double aRInner = (msol->GetInnerRadiusPlusZ()
    400402                   - msol->GetInnerRadiusMinusZ()) / (2*mHalfLength);
     
    405407  G4double bROuter = (msol->GetOuterRadiusPlusZ()
    406408                   + msol->GetOuterRadiusMinusZ()) / 2;
    407   G4double xMinusZ = -mHalfLength + OffsetZ() + fwidth*copyNo;
    408   G4double xPlusZ  = -mHalfLength + OffsetZ() + fwidth*(copyNo+1);
     409  G4double xMinusZ = -mHalfLength + OffsetZ() + fwidth*copyNo + fhgap;
     410  G4double xPlusZ  = -mHalfLength + OffsetZ() + fwidth*(copyNo+1) - fhgap;
    409411  cons.SetInnerRadiusMinusZ( aRInner * xMinusZ + bRInner );
    410412  cons.SetOuterRadiusMinusZ( aROuter * xMinusZ + bROuter );
     
    412414  cons.SetOuterRadiusPlusZ( aROuter * xPlusZ + bROuter );
    413415 
    414   G4double pDz = fwidth / 2.;
     416  G4double pDz = fwidth / 2. - fhgap;
    415417  G4double pSPhi = msol->GetStartPhiAngle();
    416418  G4double pDPhi = msol->GetDeltaPhiAngle();
  • trunk/source/geometry/divisions/src/G4ParameterisationPara.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationPara.cc,v 1.11 2006/06/29 18:18:42 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationPara.cc,v 1.13 2010/11/10 09:16:03 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationPara Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    162163
    163164  //---- Get
    164   G4double pDx = fwidth/2.;
     165  G4double pDx = fwidth/2. - fhgap;
    165166  G4double pDy = msol->GetYHalfLength();
    166167  G4double pDz = msol->GetZHalfLength();
     
    265266  //---- Get
    266267  G4double pDx = msol->GetXHalfLength();
    267   G4double pDy = fwidth/2.;
     268  G4double pDy = fwidth/2. - fhgap;
    268269  G4double pDz = msol->GetZHalfLength();
    269270  G4double pAlpha = std::atan(msol->GetTanAlpha());
     
    366367  G4double pDx = msol->GetXHalfLength();
    367368  G4double pDy = msol->GetYHalfLength();
     369  G4double pDz = fwidth/2. - fhgap;
    368370  G4double pAlpha = std::atan(msol->GetTanAlpha());
    369371  G4double pTheta = msol->GetSymAxis().theta();
    370372  G4double pPhi = msol->GetSymAxis().phi();
    371   G4double pDz = fwidth/2.;
    372373 
    373374  para.SetAllParameters ( pDx, pDy, pDz, pAlpha, pTheta, pPhi );
  • trunk/source/geometry/divisions/src/G4ParameterisationPolycone.cc

    r1337 r1347  
    2626//
    2727// $Id: G4ParameterisationPolycone.cc,v 1.17 2009/05/18 19:30:29 ivana Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationPolycone Implementation file
  • trunk/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc

    r1337 r1347  
    2626//
    2727// $Id: G4ParameterisationPolyhedra.cc,v 1.19 2009/05/20 08:35:52 ivana Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationPolyhedra Implementation file
  • trunk/source/geometry/divisions/src/G4ParameterisationTrd.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationTrd.cc,v 1.16 2008/12/18 12:57:20 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationTrd.cc,v 1.19 2010/11/10 09:16:08 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationTrd Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    5051                        G4double offset, G4VSolid* msolid,
    5152                        DivisionType divType )
    52   :  G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid )
     53  :  G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid ),
     54     bDivInTrap(false)
    5355{
    5456  G4Trd* msol = (G4Trd*)(msolid);
     
    141143  G4ThreeVector origin(0.,0.,0.);
    142144  G4double posi;
    143   if( !bDivInTrap ) {
     145  if( !bDivInTrap )
     146  {
    144147    posi = -mdx + foffset + (copyNo+0.5)*fwidth;
    145   } else {
     148  }
     149  else
     150  {
    146151    G4double aveHL = (msol->GetXHalfLength1()+msol->GetXHalfLength2())/2.;
    147152    posi = - aveHL + foffset + (copyNo+0.5)*aveHL/fnDiv*2;
     
    181186  G4double pDy2 = msol->GetYHalfLength2();
    182187  G4double pDz = msol->GetZHalfLength();
    183   G4double pDx = fwidth/2.;
     188  G4double pDx = fwidth/2. - fhgap;
    184189 
    185190  trd.SetAllParameters ( pDx, pDx, pDy1, pDy2, pDz );
     
    203208  else
    204209  {
    205     return theTrap;
     210    return fmotherSolid;
    206211  }
    207212}
     
    232237                          alp,
    233238                          pDy2,
    234                           pDx1,
    235                           pDx2,
     239                          pDx1 - fhgap,
     240                          pDx2 - fhgap * pDx2/pDx1,
    236241                          alp);
    237242
     
    249254{
    250255  G4VDivisionParameterisation::CheckParametersValidity();
    251 
     256/*
    252257  G4Trd* msol = (G4Trd*)(fmotherSolid);
    253258
     
    258263  if( std::fabs(mpDx1 - mpDx2) > kCarTolerance )
    259264  {
    260     return;
    261 
    262265    G4cerr << "ERROR - G4ParameterisationTrdX::CheckParametersValidity()"
    263266           << G4endl
     
    270273                "Invalid solid specification. NOT supported.");
    271274  }
     275*/
    272276}
    273277
     
    370374  G4double pDx2 = msol->GetXHalfLength2();
    371375  G4double pDz = msol->GetZHalfLength();
    372   G4double pDy = fwidth/2.;
     376  G4double pDy = fwidth/2. - fhgap;
    373377 
    374378  trd.SetAllParameters ( pDx1, pDx2, pDy, pDy, pDz );
     
    501505  G4double pDy1 = msol->GetYHalfLength1();
    502506  G4double DDy = (msol->GetYHalfLength2() - msol->GetYHalfLength1() );
    503   G4double pDz = fwidth/2.;
     507  G4double pDz = fwidth/2. - fhgap;
    504508  G4double zLength = 2*msol->GetZHalfLength();
    505509 
    506   trd.SetAllParameters( pDx1+DDx*(OffsetZ()+copyNo*fwidth)/zLength,
    507                         pDx1+DDx*(OffsetZ()+(copyNo+1)*fwidth)/zLength,
    508                         pDy1+DDy*(OffsetZ()+copyNo*fwidth)/zLength,
    509                         pDy1+DDy*(OffsetZ()+(copyNo+1)*fwidth)/zLength, pDz );
     510  trd.SetAllParameters( pDx1+DDx*(OffsetZ()+copyNo*fwidth+fhgap)/zLength,
     511                        pDx1+DDx*(OffsetZ()+(copyNo+1)*fwidth-fhgap)/zLength,
     512                        pDy1+DDy*(OffsetZ()+copyNo*fwidth+fhgap)/zLength,
     513                        pDy1+DDy*(OffsetZ()+(copyNo+1)*fwidth-fhgap)/zLength, pDz );
    510514
    511515#ifdef G4DIVDEBUG
  • trunk/source/geometry/divisions/src/G4ParameterisationTubs.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4ParameterisationTubs.cc,v 1.8 2006/06/29 18:18:50 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4ParameterisationTubs.cc,v 1.10 2010/11/10 09:16:13 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4ParameterisationTubs Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    156157  G4Tubs* msol = (G4Tubs*)(fmotherSolid);
    157158
    158   G4double pRMin = msol->GetInnerRadius() + foffset + fwidth * copyNo;
    159   G4double pRMax = msol->GetInnerRadius() + foffset + fwidth * (copyNo+1);
     159  G4double pRMin = msol->GetInnerRadius() + foffset + fwidth * copyNo + fhgap;
     160  G4double pRMax = msol->GetInnerRadius() + foffset + fwidth * (copyNo+1) - fhgap;
    160161  G4double pDz = msol->GetZHalfLength();
    161162  //- already rotated  G4double pSR = foffset + copyNo*fwidth;
     
    269270  G4double pDz = msol->GetZHalfLength();
    270271  //----- already rotated in 'ComputeTransformation'
    271   G4double pSPhi = msol->GetStartPhiAngle();
    272   G4double pDPhi = fwidth;
     272  G4double pSPhi = msol->GetStartPhiAngle() + fhgap;
     273  G4double pDPhi = fwidth - 2.*fhgap;
    273274
    274275  tubs.SetInnerRadius( pRMin );
     
    379380  G4double pRMax = msol->GetOuterRadius();
    380381  //  G4double pDz = msol->GetZHalfLength() / GetNoDiv();
    381   G4double pDz = fwidth/2.;
     382  G4double pDz = fwidth/2. - fhgap;
    382383  G4double pSPhi = msol->GetStartPhiAngle();
    383384  G4double pDPhi = msol->GetDeltaPhiAngle();
  • trunk/source/geometry/divisions/src/G4VDivisionParameterisation.cc

    r1337 r1347  
    2525//
    2626//
    27 // $Id: G4VDivisionParameterisation.cc,v 1.14 2008/12/03 16:41:15 arce Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-01 $
     27// $Id: G4VDivisionParameterisation.cc,v 1.16 2010/11/10 09:16:18 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class G4VDivisionParameterisation Implementation file
     
    3232// 26.05.03 - P.Arce, Initial version
    3333// 08.04.04 - I.Hrivnacova, Implemented reflection
     34// 21.04.10 - M.Asai, Added gaps
    3435// --------------------------------------------------------------------
    3536
     
    5051  : faxis(axis), fnDiv( nDiv), fwidth(step), foffset(offset),
    5152    fDivisionType(divType), fmotherSolid( motherSolid ), fReflectedSolid(false),
    52     fDeleteSolid(false) 
     53    fDeleteSolid(false), theVoluFirstCopyNo(1), fhgap(0.)
    5354{
    5455#ifdef G4DIVDEBUG
     
    6162  }
    6263#endif
    63 
    64   theVoluFirstCopyNo = 1;
    6564  kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance();
    6665}
  • trunk/source/geometry/divisions/test/ExDivisions/exampleDiv.cc

    r1316 r1347  
    2626//
    2727// $Id: exampleDiv.cc,v 1.4 2009/05/18 13:49:53 gcosmo Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivDetectorConstruction.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivDetectorConstruction.hh,v 1.3 2006/06/29 18:19:06 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivEventAction.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivEventAction.hh,v 1.2 2006/06/29 18:19:08 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivPhysicsList.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivPhysicsList.hh,v 1.2 2006/06/29 18:19:11 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivPrimaryGeneratorAction.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivPrimaryGeneratorAction.hh,v 1.2 2006/06/29 18:19:13 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivRunAction.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivRunAction.hh,v 1.2 2006/06/29 18:19:15 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivSteppingAction.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivSteppingAction.hh,v 1.2 2006/06/29 18:19:18 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/include/ExDivSteppingVerbose.hh

    r1316 r1347  
    2626//
    2727// $Id: ExDivSteppingVerbose.hh,v 1.2 2006/06/29 18:19:20 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//   This class manages the verbose outputs in G4SteppingManager.
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivDetectorConstruction.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivDetectorConstruction.cc,v 1.3 2006/06/29 18:19:53 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivEventAction.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivEventAction.cc,v 1.2 2006/06/29 18:19:55 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivPhysicsList.cc

    r1316 r1347  
    2525//
    2626//
    27 // $Id: ExDivPhysicsList.cc,v 1.2 2006/06/29 18:19:57 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     27// $Id: ExDivPhysicsList.cc,v 1.3 2010/06/16 08:51:13 gcosmo Exp $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    150150#include "G4PhotoElectricEffect.hh"
    151151
    152 #include "G4MultipleScattering.hh"
     152#include "G4eMultipleScattering.hh"
     153#include "G4hMultipleScattering.hh"
     154#include "G4MuMultipleScattering.hh"
    153155
    154156#include "G4eIonisation.hh"
     
    182184    } else if (particleName == "e-") {
    183185      //electron
    184       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
     186      pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
    185187      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
    186188      pmanager->AddProcess(new G4eBremsstrahlung,   -1,-1,3);     
     
    188190    } else if (particleName == "e+") {
    189191      //positron
    190       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
     192      pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
    191193      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
    192194      pmanager->AddProcess(new G4eBremsstrahlung,   -1,-1,3);
     
    196198               particleName == "mu-"    ) {
    197199      //muon 
    198       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
     200      pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
    199201      pmanager->AddProcess(new G4MuIonisation,      -1, 2,2);
    200202      pmanager->AddProcess(new G4MuBremsstrahlung,  -1,-1,3);
     
    205207               (particle->GetParticleName() != "chargedgeantino")) {
    206208      //all others charged particles except geantino
    207       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
     209      pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
    208210      pmanager->AddProcess(new G4hIonisation,       -1, 2,2);
    209211      ///pmanager->AddProcess(new G4hUserSpecialCuts,  -1,-1,3);     
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivPrimaryGeneratorAction.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivPrimaryGeneratorAction.cc,v 1.3 2006/06/29 18:19:59 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivRunAction.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivRunAction.cc,v 1.2 2006/06/29 18:20:01 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivSteppingAction.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivSteppingAction.cc,v 1.2 2006/06/29 18:20:04 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivSteppingVerbose.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivSteppingVerbose.cc,v 1.2 2006/06/29 18:20:06 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterBox.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterBox.cc,v 1.3 2006/06/29 18:20:08 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterBox Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterCons.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterCons.cc,v 1.3 2006/06/29 18:20:10 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterCons Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterPara.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterPara.cc,v 1.3 2006/06/29 18:20:12 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterPara Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterPolycone.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterPolycone.cc,v 1.3 2006/06/29 18:20:18 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterPolycone Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterPolyhedra.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterPolyhedra.cc,v 1.3 2006/06/29 18:20:24 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterPolyhedra Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterTrd.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterTrd.cc,v 1.3 2006/06/29 18:20:28 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterTrd Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExDivTesterTubs.cc

    r1316 r1347  
    2626//
    2727// $Id: ExDivTesterTubs.cc,v 1.3 2006/06/29 18:20:30 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExDivTesterTubs Implementation file
  • trunk/source/geometry/divisions/test/ExDivisions/src/ExVDivTester.cc

    r1316 r1347  
    2626//
    2727// $Id: ExVDivTester.cc,v 1.7 2009/05/16 09:15:33 arce Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// class ExVDivTester Implementation file
  • trunk/source/geometry/divisions/test/testG4PVDivision.cc

    r1316 r1347  
    2626//
    2727// $Id: testG4PVDivision.cc,v 1.5 2009/05/14 14:19:32 ivana Exp $
    28 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
     28// GEANT4 tag $Name: geant4-09-04-ref-00 $
    2929//
    3030// test for G4PVDivision classes
Note: See TracChangeset for help on using the changeset viewer.