BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/BOOST/EmcSim/include/EmcSim/BesCrystalParameterisation.hh
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oreiented Simulation Tool //
3//---------------------------------------------------------------------------//
4// Descpirtion: EMC detector
5// Author: Fu Chengdong
6// Created: Sep 4, 2003
7// Comment:
8//---------------------------------------------------------------------------//
9//
10#ifndef BesCrystalParameterisation_H
11#define BesCrystalParameterisation_H 1
12
13#include "G4VPVParameterisation.hh"
14#include "globals.hh"
15
16// class G4VphysicalVolume;
17// class G4Trap;
18// class G4VSolid;
19
20//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
21class BesEmcGeometry;
22
23class BesCrystalParameterisation : public G4VPVParameterisation {
24public:
25 BesCrystalParameterisation( const G4int, const G4int, const G4int, BesEmcGeometry*,
26 const G4int );
28 void ComputeTransformation( const G4int, G4VPhysicalVolume* ) const;
29
30 virtual void ComputeDimensions( G4Box&, const G4int, const G4VPhysicalVolume* ) const {}
31
32 virtual void ComputeDimensions( G4Tubs&, const G4int, const G4VPhysicalVolume* ) const {}
33
34 virtual void ComputeDimensions( G4Trd&, const G4int, const G4VPhysicalVolume* ) const {}
35
36 virtual void ComputeDimensions( G4Trap&, const G4int, const G4VPhysicalVolume* ) const;
37
38 virtual void ComputeDimensions( G4Cons&, const G4int, const G4VPhysicalVolume* ) const {}
39
40 virtual void ComputeDimensions( G4Sphere&, const G4int, const G4VPhysicalVolume* ) const {}
41
42 virtual void ComputeDimensions( G4Orb&, const G4int, const G4VPhysicalVolume* ) const {}
43
44 virtual void ComputeDimensions( G4Torus&, const G4int, const G4VPhysicalVolume* ) const {}
45
46 virtual void ComputeDimensions( G4Para&, const G4int, const G4VPhysicalVolume* ) const {}
47
48 virtual void ComputeDimensions( G4Polycone&, const G4int, const G4VPhysicalVolume* ) const {}
49
50 virtual void ComputeDimensions( G4Polyhedra&, const G4int, const G4VPhysicalVolume* ) const {
51 }
52
53 virtual void ComputeDimensions( G4Hype&, const G4int, const G4VPhysicalVolume* ) const {}
54
55 G4Material* ComputeMaterial( const G4int, G4VPhysicalVolume*,
56 const G4VTouchable* parentTouch = 0 );
57 G4VSolid* ComputeSolid( const G4int, G4VPhysicalVolume* );
58 void ComputeIDAndSide( const G4VPhysicalVolume* ) const;
59 inline void SetVerboseLevel( G4int val ) { fVerboseLevel = val; };
60
61private:
62 G4int fCrystalID;
63 G4int fVerboseLevel;
64 G4int fStartID;
65 G4int fAllCrystals;
66 G4bool fFlagLeft;
67 BesEmcGeometry* fBesEmcGeometry;
68};
69
70//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
71
72#endif
G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
BesCrystalParameterisation(const G4int, const G4int, const G4int, BesEmcGeometry *, const G4int)
virtual void ComputeDimensions(G4Polycone &, const G4int, const G4VPhysicalVolume *) const
void ComputeTransformation(const G4int, G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Para &, const G4int, const G4VPhysicalVolume *) const
void ComputeIDAndSide(const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Sphere &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Trd &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Cons &, const G4int, const G4VPhysicalVolume *) const
G4Material * ComputeMaterial(const G4int, G4VPhysicalVolume *, const G4VTouchable *parentTouch=0)
virtual void ComputeDimensions(G4Tubs &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Torus &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Orb &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Trap &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Hype &, const G4int, const G4VPhysicalVolume *) const
virtual void ComputeDimensions(G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
virtual ~BesCrystalParameterisation()