ACTARSim
ACTAR TPC Simulation Reference Guide
HodoParametrisation.hh
Go to the documentation of this file.
1 
2 
3 #ifndef HodoParametrisation_H
4 #define HodoParametrisation_H 1
5 
6 #include "globals.hh"
7 #include "G4VPVParameterisation.hh"
8 
9 class G4VPhysicalVolume;
10 class G4Tubs;
11 
12 // Dummy declarations to get rid of warnings ...
13 class G4Trd;
14 class G4Trap;
15 class G4Cons;
16 class G4Orb;
17 class G4Sphere;
18 class G4Torus;
19 class G4Para;
20 class G4Hype;
21 class G4Box;
22 class G4Polycone;
23 class G4Polyhedra;
24 
25 class HodoParametrisation : public G4VPVParameterisation
26 {
27  public:
28  HodoParametrisation(G4int NodE, G4int Noe1, G4int Noe2,G4double zpos);
29  virtual ~HodoParametrisation();
30 
31  void ComputeTransformation(const G4int copyNo,G4VPhysicalVolume *physVol) const;
32  void ComputeDimensions (G4Box& ,const G4int copyNo,const G4VPhysicalVolume* physVol) const;
33 
34 
35  private: // Dummy declarations to get rid of warnings ...
36 
37  void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) const {}
38  void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
39  void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
40  void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
41  void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
42  void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
43  void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {}
44  void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
45  void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
46  void ComputeDimensions (G4Tubs&, const G4int,const G4VPhysicalVolume * ) const{}
47  void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
48 
49 
50  private:
51  //The number of the hodo layers
52 G4int fNoDE;
53 G4int fNoE1;
54 G4int fNoE2;
55 G4double fzpos;
56 //the position of every layer and the space between the layers
57 G4double DEHodoPos[13];//position in x-axis
58 G4double E1HodoPos[16];//position in y-axis
59 G4double E2HodoPos[13];//position in y-axis
60 
61 G4double fzspacing[2];
64 G4double Length;
65 };
66 
67 #endif
void ComputeDimensions(G4Torus &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Sphere &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Hype &, const G4int, const G4VPhysicalVolume *) const
void ComputeTransformation(const G4int copyNo, G4VPhysicalVolume *physVol) const
void ComputeDimensions(G4Trd &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Cons &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Tubs &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Orb &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Box &, const G4int copyNo, const G4VPhysicalVolume *physVol) const
void ComputeDimensions(G4Polycone &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Polyhedra &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Trap &, const G4int, const G4VPhysicalVolume *) const
void ComputeDimensions(G4Para &, const G4int, const G4VPhysicalVolume *) const
HodoParametrisation(G4int NodE, G4int Noe1, G4int Noe2, G4double zpos)